4

在下面的段落中,我提出了当我使用全屏灯箱时两个滚动条彼此相邻的问题。基础层的滚动条(初始 html)和 iframe 的滚动条(灯箱)。我想移除或覆盖基本滚动条。

在我的基本页面设计中,我有一个垂直的投资组合项目列表。该页面旨在滚动。要查看投资组合项目的图像,用户单击“查看项目图像”链接以展开扩展 100% 浏览器的灯箱。这个想法是使用灯箱将投资组合图像置于浮动全屏窗口的中心,当您关闭窗口时,用户将返回到下方页面,即他们离开的位置。这非常重要,因为下面的投资组合项目列表可能很长。Colorbox 是一个基本的 iframe。

如前所述,我有两个滚动条相邻的问题。您可以在以下位置看到问题:

www.joshua-butler.com/sample/home.html

我想覆盖或移除基本滚动条。

这是一个类似的问题: jquery: How can I reset the document scrollbar when I append a layer over the document? (我不知道如何将其用于我的目的)

如果有人对 Colorbox 有更好的解决方案,或者知道一个简单的修复方法,请告诉我。

所有的灯箱解决方案,例如Thickbox、Shadowbox 和Lightbox 都有这个问题。

提前致谢!乔什

4

1 回答 1

10

当 ColorBox 处于活动状态时,您可以使用 ColorBoxonLoadonClosed回调将页面更改overflow为隐藏(删除页面滚动条)。

$(".iframe").colorbox({
    iframe:true, 
    width:"100%", 
    height:"100%", 
    onLoad:function() {
        $('html, body').css('overflow', 'hidden'); // page scrollbars off
    }, 
    onClosed:function() {
        $('html, body').css('overflow', ''); // page scrollbars on
    }
});
于 2012-01-02T04:32:07.603 回答