我有一个使用 jQuery Colorbox 插件的页面。我的页面 JS 是:
<script type="text/javascript">
$(document).ready(function(){
$(document).bind('cbox_open', function() {
$("html").css("overflow", "hidden");
});
$(document).bind('cbox_closed', function() {
$("html").css("overflow", "visible");
});
$(".iframe").colorbox({innerWidth:780, innerHeight:"90%", iframe:true});
});
</script>
前两个代码片段的目的是在打开时禁用颜色框后面父页面上的垂直滚动条。这没有问题。此外,当颜色框关闭时,垂直条应该重新出现。后者适用于所有浏览器 IE 7。
我知道它到达代码时没有任何代码错误,原因有两个:
1 - 测试警报在 "$(document).bind('cbox_closed', function() {"
2 - 它适用于所有其他浏览器和 IE 8+ 版本。
我已将溢出值更改为“滚动”,但这也会向页面添加不必要的水平滚动,这是不希望的。
在 ie7 中是否有其他方法可以使溢出或垂直滚动出现而不是列出的方法?
最佳答案
根据我的经验,这在 ie7 中对 html 或 body 元素不起作用。我建议将整个文档包装在 <div>
中并将其设置为 height:100%
和 width:100%
并用那个 div 控制溢出。此外,(这可能是个人喜好问题)您应该使用 removeAttr('style')
在元素上返回其状态而不是将 css 更改为 overflow:visible
.
作为旁注,此方法也解决了 iPad 的问题,它遇到与 ie7 相同的滚动问题
关于jQuery Colorbox 文档溢出 :visible not applying,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10641860/