Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery Colorbox文档溢出:可见,不应用_Jquery_Css_Overflow_Colorbox - Fatal编程技术网

jQuery Colorbox文档溢出:可见,不应用

jQuery Colorbox文档溢出:可见,不应用,jquery,css,overflow,colorbox,Jquery,Css,Overflow,Colorbox,我有一个使用jQuery Colorbox插件的页面。我的页面JS是: <script type="text/javascript"> $(document).ready(function(){ $(document).bind('cbox_open', function() { $("html").css("overflow", "hidden"); }); $(document).bind('cbox_closed', funct

我有一个使用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>

$(文档).ready(函数(){
$(document).bind('cbox_open',function(){
$(“html”).css(“溢出”、“隐藏”);
});
$(document).bind('cbox_closed',function(){
$(“html”).css(“溢出”、“可见”);
});
$(“.iframe”).colorbox({innerWidth:780,innerHeight:90%,iframe:true});
});
前两段代码的目的是在打开时禁用colorbox后面父页面上的垂直滚动条。这是毫无疑问的。此外,当颜色框关闭时,垂直条应重新显示。后者适用于除IE7之外的所有浏览器

我知道它在代码中没有任何错误,原因有二:

1-在“$(document).bind('cbox_closed',function(){”中测试警报

2-它适用于其他浏览器和IE 8+版本

我已将溢出值更改为“滚动”,但这也会向页面添加不必要的水平滚动,这是不需要的


在ie7中出现溢出或垂直滚动的方式是否与列出的方式不同?

根据我的经验,这在ie7中对html或正文元素不起作用。我建议将整个文档包装在
中,并将其设置为
高度:100%
宽度:100%
并使用该div控制溢出。此外,(这可能是一个品味问题)您应该在元素上使用
removeAttr('style')
来返回其状态,而不是将css更改为
overflow:visible

作为旁注,这种方法也解决了iPad的问题,它与ie7的滚动问题相同:

overflow:auto

似乎做到了这一点,但不确定为什么:visible属性在这种情况下不适用(因为它适用于其他浏览器)。IE7的哪些方面导致了这一问题?

注意:溢出:自动似乎起作用-但我很好奇为什么:如果有人能解释的话,在这种情况下可见是不起作用的。这是IE7中的一个错误吗?如果这是您试图实现的所有目标,为什么要在div中设置?只需将html或body标记设置为您在css中提到的css样式元素。另外-cu我知道你为什么喜欢removeAttr方法(这假设我定义了一个我目前没有定义的样式)。原因是ie7和移动设备在使用
html
body
标记时不服从。它应该可以工作,但到目前为止它至少对我没有,而这个方法已经100%工作了。
$(“html”).css(“overflow”、“hidden”);
命令使用style属性,因此使用
removeAttr
将比第二次设置css更真实地应用于该命令。