保留侧边栏但删除滚动JavaScript?

保留侧边栏但删除滚动JavaScript?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我试图复制facebook以lightbox格式显示图片的方式。我唯一在复制方面遇到困难的是他们实现的方式,即在侧边栏中没有实际的滚动条 我想对于任何人来说,看到这一点的最好方式就是去facebook上调出一张图片,这样灯箱效应就开始发挥作用了。注意侧边栏。有人有什么建议或方法来实现这一点吗?有没有办法在滚动条上定位特定节点 谢谢。jQuery是这个项目的首选库。老实说,这主要是CSS 看看这把小提琴: 我模仿Facebook的做法,创造了世界上最糟糕的灯箱。红色正方形代表图片,黑色为半透明覆盖

我试图复制facebook以lightbox格式显示图片的方式。我唯一在复制方面遇到困难的是他们实现的方式,即在侧边栏中没有实际的滚动条

我想对于任何人来说,看到这一点的最好方式就是去facebook上调出一张图片,这样灯箱效应就开始发挥作用了。注意侧边栏。有人有什么建议或方法来实现这一点吗?有没有办法在滚动条上定位特定节点


谢谢。jQuery是这个项目的首选库。

老实说,这主要是CSS

看看这把小提琴:

我模仿Facebook的做法,创造了世界上最糟糕的灯箱。红色正方形代表图片,黑色为半透明覆盖层

您会注意到主体是可滚动的,直到您单击链接时滚动条才被禁用

半透明覆盖层是绝对定位的
div
,具有100%的宽度和高度:

div {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(0,0,0,0.7);
    overflow-y: scroll;
    display: none;
}
关于这个div,最后要注意的是
overflow-y
被设置为
scroll
,这意味着无论滚动条是否可滚动,滚动条始终存在

文档的高度设置为非常大的值,这样当您不看灯箱时,页面可以滚动。以下是调用lightbox的代码:

jQuery(document).ready(function($) {
    $('a').click(function(){
        $('div').addClass('shown');
        $('html').addClass('noScroll');
    });
});
这就是你所期望的。我正在应用一个显示的类,在本例中,它实际上就是
display:block
但是请注意应用于HTML的
noScroll
类。这适用于溢出-y:隐藏到删除原始滚动条的html。这样就不会有两个滚动条(一个用于html,一个用于overlay div)

如果你需要我澄清什么,请告诉我