繁体   English   中英

尝试添加一个类(如果已经存在)

[英]Trying to add a class if another already exists

这是一个多层次的问题,不确定是否要我全部问一下,但是我遇到的问题与灯箱有关。

我试图使其工作,当我单击图像时,img灯箱打开,但是即使使用'disableScrolling': true,它也不起作用。 body确实overflow: hidden; 通过该灯箱选项,但页面仍会滚动。

因此,我必须找出一个漏洞修复程序。 我尝试了此js,但无法正常工作:

$( ".smile-thumb-container" ).click(function() {
    if($('body').hasClass('lb-disable-scrolling')) {
        $('html').addClass('lb-overflow-fix');
    } else {
        $('html').removeClass('lb-overflow-fix');
    }
});

我基本上是想说,当我单击img ,正文会显示.lb-disable-scrolling 这是来自Lightbox本身,现在,我想说的是,当我单击保存有imgdiv ,检查<body>是否具有.lb-disable-scrolling ,因为lightbox会执行此操作。 如果body具有该类,请在<html>添加一个名为.lb-overflow-fix 当我关闭img时, <body>会丢失.lb-disable-scrolling因此html应该删除.lb-overflow-fix

我的CSS中的.lb-overflow-fix overflow: hidden; 我不确定为什么它可以在<html>而不是<body>

我知道实际的网站并不理想,但我什至无法使其正常工作,因此我必须假设我的js错误。 这是问题所在的站点

因为您设置了以下CSS:

html {
    overflow-x: hidden;
}

这将更改默认情况下垂直滚动的处理方式,结果是处理它的是<html>节点,而不是<body>节点。

删除该overflow-x: hidden; <html> ,突然您的网站可以正常工作。

无论如何,要隐藏水平溢出是一个坏主意,所以我建议不要尝试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM