Stack にも同様の質問がいくつかありますが、私の質問は私の側の構文エラーの結果だと思います。とにかく、JavaScript でライトボックスを作成していleft %
て、要素の幅の半分になるように絶対位置 (css) を動的に設定したいと考えています。
これはコードの抜粋です。完全なコードはこちらhttp://jsfiddle.net/Yab3Q/4/
var modal = document.getElementById(btnId+"-modal");
var modalChildren = modal.childNodes;
for (var x = 0; x<modalChildren.length; x++){
if (!(modalChildren[x].className === "lightBox")){
var childWidth = modalChildren[x].offsetWidth;
var halfWidth = childWidth / 2;
modalChildren[x].style.left = halfWidth + "px";
}
}
この行modalChildren[x].css.left = halfWidth + "px";
は、「Uncaught TypeError: プロパティ 'left' を未定義に設定できません」を返しています。ただし、modalChildren[x].className
どちらmodalChildren[x].offsetWidth;
も期待値を返すため、ここで css を表示できるのに更新できない理由がわかりません。