[英]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本身,现在,我想说的是,当我单击保存有img
的div
,检查<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.