2009-12-09 46 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