Javascript 实现模式对话框有点问题
我正在开发一个模式对话框,作为web应用程序的一部分。有一件事一直困扰着我。请看我刚刚上传的电影剪辑。我强烈地感到,我必须用视频来回答我的问题,因为在这种情况下,最好看一次,而不是听100次 可以是垂直滚动,也可以同时垂直和水平滚动。但我在我的示例中使用的是水平滚动,所以请注意 以下是我的问题: 透明遮罩的宽度会影响页面本身的宽度。但在Opera中,例如,每次调整窗口大小时,页面的宽度最多接近“true”。在IE中,一旦透明遮罩影响了宽度,页面就会记住它并保持不变。问题是什么?如何解决?如何让IE表现得像Opera那样 在我的项目中,我执行以下操作:Javascript 实现模式对话框有点问题,javascript,jquery,Javascript,Jquery,我正在开发一个模式对话框,作为web应用程序的一部分。有一件事一直困扰着我。请看我刚刚上传的电影剪辑。我强烈地感到,我必须用视频来回答我的问题,因为在这种情况下,最好看一次,而不是听100次 可以是垂直滚动,也可以同时垂直和水平滚动。但我在我的示例中使用的是水平滚动,所以请注意 以下是我的问题: 透明遮罩的宽度会影响页面本身的宽度。但在Opera中,例如,每次调整窗口大小时,页面的宽度最多接近“true”。在IE中,一旦透明遮罩影响了宽度,页面就会记住它并保持不变。问题是什么?如何解决?如何让I
//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,所以很多人以前可能使用过它的对话框。您是否研究过设置onresize事件处理程序,以便在调整窗口大小时调整遮罩尺寸?如果您使用的是Prototype,您可以像下面这样悄悄地设置这样的处理程序:
Event.observe(document.onresize ? document : window, "resize", function() {//dostuff});
由提供,若你们能用文字描述你们的问题,并在必要时用图片描述,那个将非常有帮助。要求人们观看演示问题的视频可能要求有点过分。正如我所说,这种情况下,最好看一次,而不是听100遍,即阅读100遍。图片在这里也不会有多大用处。我已经有了一个函数,它完全可以在框架的帮助下实现您建议的功能。但这与我的问题无关。观看视频片段以抓住要点。