私はcoffeescriptでjavascriptを学ぼうとしていて、codepenできちんとしたjavascriptを書き直して練習しています。コーヒースクリプトでネストされたループを記述する方法を知らなかったことが原因だと思います。元のコードは次のとおりです。
for(var j = 0 ; j<yElems;j++){
for(var i = 0 ; i<xElems;i++){
var elem = document.createElement('div');
if(i%2==0){
elem.classList.add('bs');
}else{
elem.classList.add('bs1');
}
elem.style.top = j*30-20+'px';
elem.style.left = i*30-20+'px';
elem.style.zIndex =100- j+''+i;
elem.style.backgroundColor = colors[Math.round(Math.random()*4)];
body.appendChild(elem);
elems.push(elem);
}
}
私の「翻訳」は次のとおりです。
grid = ->
for i in xElems
elem = document.createElement 'div'
if i % 2 is 0 then elem.classList.add 'bs' else elem.classList.add 'bs1'
elem.style.top = j*30-20+'px'
elem.style.left = i*30-20+'px'
elem.style.zIndex = 100- j+''+i
elem.style.backgroundColor = colors[Math.round(Math.random()*4)]
body.appendChild(elem)
elems.push(elem)
for j in yElems
grid()
何が機能していないのかわからない。そうでない場合は、まだわかりません。元のペンは次の場所にあります。
http://codepen.io/pixelgrid/pen/Hxkhs
私のフォークは次のとおりです。
http://codepen.io/bubbaJackson/pen/tyLGC
ありがとう。