隠し要素を表示するために次のスクリプトを作成し、その位置をページの中央に固定しました。この機能は、onclickイベントによって呼び出されoffsetHeightとoffsetWidthが最初のonclickイベントで間違って計算されています。
はfunction popUp(id,type) {
var popUpBox = document.getElementById(id);
popUpBox.style.position = "fixed";
popUpBox.style.display = "block";
popUpBox.style.zIndex = "6";
popUpBox.style.top = "50%";
popUpBox.style.left = "50%";
var height = popUpBox.offsetHeight;
var width = popUpBox.offsetWidth;
var marginTop = (height/2) * -1;
var marginLeft = (width/2) * -1;
popUpBox.style.marginTop = marginTop + "px";
popUpBox.style.marginLeft = marginLeft + "px";
}
、offsetHeightとoffsetWidthは、このように正しく要素のセンタリングない、誤って計算されています。 onclick要素をもう一度クリックすると、offsetHeightとoffsetWidthが正しく計算されます。
私は想像できるあらゆる方法で注文を変更しようとしましたが、これが私を狂わせてしまいます!どんな助けでも大歓迎です!
ええ、あなたのコードは私にとってうまくいくようですか? http://jsfiddle.net/mrtsherman/SdTEf/1/ – mrtsherman
@mtrsherman、ありがとうございます。あなたは私の方法の誤りを私に見せてくれました。注目すべきことは、高さと幅を決定したい要素の高さと幅を定義しない場合、offsetHeightとoffsetWidthを使って正しい高さと幅を取得できないことです。 – saoyr5
Yay。あなたはそれを解決してうれしいです。すべてが大丈夫だと思われるが、そうでないような問題 - 私の頭が爆発したい! – mrtsherman