Javascript 停止Internet Explorer 8页面的滚动

Javascript 停止Internet Explorer 8页面的滚动,javascript,html,css,Javascript,Html,Css,可能吗?基本上,我有一个“弹出窗口”,当用户单击按钮时,它会出现在页面上,我可以通过以下方式使页面在大多数浏览器中停止滚动: body.style.overflow = "hidden"; 但这对IE不起作用?我也尝试过这样做: body.style.position = "fixed"; 这确实有效,但它会将用户返回到页面顶部 有没有办法只用js/css就可以做到这一点?而不是jq?您可以将定位设置为固定,将溢出设置为滚动。因此,如果用户确实滚动页面,弹出窗口将保持不变,如果长度或宽度超过

可能吗?基本上,我有一个“弹出窗口”,当用户单击按钮时,它会出现在页面上,我可以通过以下方式使页面在大多数浏览器中停止滚动:

body.style.overflow = "hidden";
但这对IE不起作用?我也尝试过这样做:

body.style.position = "fixed";
这确实有效,但它会将用户返回到页面顶部


有没有办法只用js/css就可以做到这一点?而不是jq?

您可以将定位设置为固定,将溢出设置为滚动。因此,如果用户确实滚动页面,弹出窗口将保持不变,如果长度或宽度超过您设定的比例,您仍然可以滚动弹出窗口。在CSS中设置样式:

#popup
{
margin:auto;
width:600px;
height:300px;
background-color:#666;
position:fixed;
overflow:scroll;
}

我不确定这是否是您想要实现的目标。如果您发布了一个到目前为止您所拥有的功能的演示,那么使用
float:left
而不是
position:fixed
position:absolute
,会容易得多。它肯定会有用的。:)

嗯,即使用户已经向下滚动了,你想让页面不滚动吗?@MrLister是的,这就是我要做的。弹出窗口本身需要滚动,因此当它下面的页面滚动时会非常混乱。你可以发布一个小的演示,也许可以显示你正在尝试做什么?我从未见过
html,body{overflow:hidden}
不是work@Kyle给你:但似乎JSFIDLE在IE8上都不起作用!尝试添加body.style.position=“relative”而不是fixed