2016-12-20 10 views
-1
// T duplicates the selected element(s). 
case 116: 
    elementSel = document.querySelectorAll("div.selected"); 
    var elementClone, 
    tmp = getBrowserWidth(), 
    bww = tmp[0], 
    bwh = tmp[1]; 

    for (i = 0; i < elementSel.length; i++) { 
     elementClone = elementSel[i].cloneNode(true); 
     elementClone.id = "boxID" + Math.floor((1 + Math.random()) * 0x10000); 
     elementClone.zIndex = "+1"; 

     var posx = getRandomInt(1, bww) - elementSel[i].offsetWidth; 
     var posy = getRandomInt(1, bwh) - elementSel[i].offsetHeight; 

     elementClone.style.left = posx + " px"; 
     elementClone.style.top = posy + " px"; 

     elementSel[i].appendChild(elementClone); 
     elementSel[i].classList.toggle("selected"); 

     console.log("Created " + elementSel.length + " elements."); 
    } 

私は勉強中です。私は同様の質問を読もうとしましたが、それ以上は得られません。問題はelementClone.style.left/.topに新しい値が割り当てられていないことです。どうして?div要素をランダムに配置するときに問題が発生するX/Y

+0

'getBrowserWidth()'は何をして返しますか? 'var posx = getRandomInt(1、bww)'の前に 'debugger'文を置いてみるか、コード全体に' console.log() 'メッセージを追加し、ブラウザコンソールでデバッグするようにしてください。 'posx'と' posy'は期待どおりに新しい値に設定されていますか? 'tmp'の値は?コードは 'case 116'にも達していますか? – Nope

+0

'getRandomInt'関数はどのように見えますか? – wackozacko

+0

@FrançoisWahl、 'posx'と' posy'は新しい値に設定されています。私は 'console.log()'で試してみました。 –

答えて

0

[OK]を解決しました。問題は" px"でした。クラペ!

0

関連する回答: それは私のために働いています。なぜなら、positionfloatの属性を変更する必要があるからです。

関連する問題