2009-12-09 47 views
0

我正在開發一個模式對話框作爲Web應用程序的一部分。有一件事對我來說是一個難題。請觀看我剛剛在http://inter.freetzi.com/example/上升的電影片段。我強烈地感到,我必須伴隨我的問題與視頻,因爲這是更好的情況下看到一次,而不是聽到100次。實現模態對話框有點問題

(這可能是垂直滾動,或垂直和水平的同時,但我使用水平滾動條在我的例子,所以看它。)

這裏有一個關於我的問題:

透明遮罩的寬度會影響頁面本身的寬度。但在Opera中,例如,每當窗口被調整大小時,頁面的寬度最多接近'true'。在IE瀏覽器中,一旦透明遮罩影響了寬度,之後頁面會記住它並保留它。什麼是問題以及如何解決它?如何使IE瀏覽器像Opera一樣行事?

在我的項目,我做了以下內容:

//curViewpointW and curViewpointH are current width and height of the viewpoint (current is meant to be the moment of the resize event) 
oMask.style.width = curViewpointW + 'px'; 
oMask.style.height = curViewpointH + 'px';  

var pageWH = getPageWH(); //getPageWH() is a function that gets current width and height of the page (with scrolling if there is any) 
var curPageW = pageWH[0]; 
var curPageH = pageWH[1]; 

if (curPageW > curViewpointW) { 
    oMask.style.width = curPageW + 'px';  
} 
if (curPageH > curViewpointH) { 
    oMask.style.height = curPageH + 'px'; 
} 

但IE忽略莫名其妙......

附:在我的例子中,它是jQuery,所以很多人可能以前使用過它的對話框。

+0

禮貌這將有助於極大如果你能的話,如果有必要描述你的問題,用圖片。要求人們觀看展示問題的視頻可能要求太多。 – 2009-12-09 23:21:42

+0

正如我所說過的,當聽到100次(比如讀取100次)比看到一次更好時就是這種情況。圖片在這裏也不會有太多用處。 – 2009-12-10 05:43:55

回答

0

您是否研究過設置onresize事件處理函數,以便在調整窗口大小時調整掩碼尺寸?如果您使用的原型,您可以設置這樣的處理程序悄悄地是這樣的:

Event.observe(document.onresize ? document : window, "resize", function() {//dostuff}); 

Roberto Cosenza blog

+0

我已經有了一個功能,完全可以完成你建議的框架幫助。但這與我的問題無關。觀看剪輯以達到目的。 – 2009-12-10 05:48:46