1
我想在JavaScript中構建模態對話框。我已經在Firefox的工作,但不能與一些像這樣的代碼,即...從頭開始構建模式對話框,用於IE和Firefox的JavaScript
$(window).bind('scroll resize', function (e) {
var $this = $('.popup');
var d = document;
var rootElm = (d.documentelement && d.compatMode == 'CSS1Compat') ? d.documentelement : d.body;
var vpw = self.innerWidth ? self.innerWidth : rootElm.clientWidth; // viewport width
var vph = self.innerHeight ? self.innerHeight : rootElm.clientHeight; // viewport height
$this.css({
position: 'fixed',
left: ((vpw - 100)/2) + 'px',
top: (rootElm.scrollTop + (vph - 100)/2) + 'px'
}).show();
});
這工作完全在Firefox,而不是在IE(不針對IE6)
的問題
在IE中初始放置很好,但是當我去調整大小時,div不會移回到視圖端口的中間位置。我驗證了調整大小和滾動都觸發了,但放置在IE中。
DEMO
爲什麼您需要從頭開始構建?你使用的jQuery和jQuery UI已經有了一個模態對話框,可以添加到你的項目中? – 2010-11-11 19:20:13
那麼,什麼是不正確的/不受歡迎的IE行爲? – 2010-11-11 19:20:43
@john - jquery ui非常具有侵入性。 @surreal - 調整大小不會將圖像垂直移動到正確的位置。 – 2010-11-11 19:57:35