javascript - 根据其他元素状态/类有条件地将类添加到元素

标签 javascript jquery

我试图在向下滚动页面后隐藏图像。当滚动我的 header 时,会得到一个类 fl-theme-builder-header-scrolled。我的图像 div 有一个类 hiding-image,我想在 fl-theme-builder-header-scrolled 时添加一个类 image-off > 类显示在标题中。 这就是我所拥有的:

$(document).ready(function() {
if($( 'header' ).hasClass( 'fl-theme-builder-header-scrolled' )) {
    $( '.hiding-image' ).toggleClass( 'image-off' );
} 
});

但这不起作用。有什么建议吗?谢谢。

最佳答案

您的代码仅在文档准备好后、页面加载后运行一次。因此,如果 header 没有 fl-theme-builder-header-scrolled 类并且只是稍后添加,您的代码将不会再次运行。

你需要一个突变观察者。 检查此线程:Event trigger on a class change

或者,您可以按照@Brewal所说的那样,将代码评估放在滚动事件上。不过要小心,不要在每次触发滚动事件时都运行代码,因为它会降低网站性能,特别是在移动设备上。

关于javascript - 根据其他元素状态/类有条件地将类添加到元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59092953/

相关文章:

javascript - 从 url 中提取版本标识符

javascript - 使用 D3.js 将 SVG 元素附加到 HTML 表格单元格

jquery - 阻止下载 .mov 视频

jquery - Chrome 错误地解释了 JSONP 请求中的相对重定向

javascript - jQuery 改变 html 输入 onClick 的值

javascript - 如何创建类似 facebook/twitter 的按钮小部件

javascript - 根据表单域点击改变div内容

javascript - Node.js 阻塞 Bootstrap?

javascript - 如何检查多边形是否包含 Point Sequelize 和 postgres

jquery - on() 方法的奇怪之处