Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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滚动整个窗口,而不仅仅是Colorbox中的内容_Jquery_Scroll_Colorbox - Fatal编程技术网

Jquery Colorbox滚动整个窗口,而不仅仅是Colorbox中的内容

Jquery Colorbox滚动整个窗口,而不仅仅是Colorbox中的内容,jquery,scroll,colorbox,Jquery,Scroll,Colorbox,Im使用Jquery Colorbox在Colorbox弹出窗口中显示信息 我已经打开了iframe,因此当新的颜色框打开时,如果内容超过颜色框的高度,则颜色框弹出窗口中的窗口将滚动 问题是,如果我使用鼠标上的滚动按钮继续滚动到colorbox窗口的末尾,并继续滚动整个窗口,而不仅仅是弹出窗口,将向下滚动 有没有办法防止这种情况?希望这是有意义的。如果您只想滚动颜色框,而不想滚动窗口本身,您可以这样做 $(window).scroll(function() { $(this).scrol

Im使用Jquery Colorbox在Colorbox弹出窗口中显示信息

我已经打开了iframe,因此当新的颜色框打开时,如果内容超过颜色框的高度,则颜色框弹出窗口中的窗口将滚动

问题是,如果我使用鼠标上的滚动按钮继续滚动到colorbox窗口的末尾,并继续滚动整个窗口,而不仅仅是弹出窗口,将向下滚动


有没有办法防止这种情况?希望这是有意义的。

如果您只想滚动颜色框,而不想滚动窗口本身,您可以这样做

$(window).scroll(function() {
    $(this).scrollTop(0)
}) 
您可以进一步修改此选项以满足您的需要


检查处的工作示例执行此操作的一种方法是,在打开ColorBox对话框时将文档溢出设置为hidden,然后在对话框关闭时恢复。您可以绑定到ColorBox使用的自定义jQuery事件:

$(document).bind('cbox_open', function () {
    $('html').css({ overflow: 'hidden' });
}).bind('cbox_closed', function () {
    $('html').css({ overflow: 'auto' });
}); 
当父窗口上的滚动条消失并重新出现时,会出现一个小跳跃。这让我很困扰,所以我使用了这个问题中描述的鼠标滚轮方法:


我的使用有点复杂,因为我在ColorBox中使用iframe并显式设置滚动条。我在iframe页面中运行了一个绑定到mouseweel事件的脚本,并在元素底部停止了传播。对于简单的ColorBox使用,您应该能够通过将鼠标滚轮事件绑定到ColorBox框架中的可滚动元素来创建可重用的解决方案。

您还可以将下一个事件添加到ColorBox初始值,以在ColorBox打开时禁用主文档上的滚动:

jQuery('.selector').colorbox({
    onOpen: function(){
        $('body').css({ overflow: 'hidden' });
    },
    onClosed: function(){
        $('body').css({ overflow: '' });
    }
});
资料来源:


注意:不要使用
overflow:“auto”
如果您喜欢在Colorbox关闭时溢出将返回到它的预览值,请使用
overflow:“

如果我理解正确,我相信我在Colorbox atm中遇到了相同/类似的问题。我在senechaux发布的一篇文章中找到了这个解决方案。

我为可能遇到相同问题的未来访客发布了此替代解决方案。这可以转储到脚本中的任何位置

$(document).on('cbox_open',function(){
  $(document.body).css('position','fixed');
}).on('cbox_closed',function(){
  $(document.body).css('position','');
});

我是将代码添加到颜色框弹出的页面中,还是需要将其添加到父窗口?将其添加到任意位置。您还可以在jquery脚本之后添加它,如
$(window).scroll(function(){$(this).scrollTop(0)})