jedno z możliwych rozwiązań, pisane na szybko:
<div id="container">
<header>
<form>
<h2>Jak dużo kwadratów?</h2>
<input type="number" id="num">
<button id="go">CLICK</button>
</form>
</header>
<div id="main" class="main"></div>
</div>
const Square = (color) => `
<div class="square ${color}"></div>
`
const renderSquares = (num, perRow, container) => {
let html = ''
for (let i = 0; i < num; i++) {
const isEvenColumn = (i % perRow) % 2 === 0
const isEvenRow = Math.floor(i / perRow) % 2 === 0
const color = (isEvenColumn && isEvenRow) || (!isEvenColumn && !isEvenRow)
? 'dark'
: 'light'
html += Square(color)
}
container.innerHTML = html
}
document
.getElementById('go')
.addEventListener('click', (event) => {
event.preventDefault()
const num = document.getElementById('num').valueAsNumber
renderSquares(num, 10, document.getElementById('main'))
})
JSFiddle: https://jsfiddle.net/2ytwkwe1/