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