javascript - 到达页面顶部某个元素时如何添加class并删除?

标签 javascript jquery

这是我的代码:

jQuery(document).ready(function($){
    $(window).on('scroll', function(){
        if($(window).scrollTop() >= $('#element').offset().top){
            $('.menu').addClass('addclass');
        }
    });
});

当到达页面顶部的 id = "element" 并进一步滚动到底部时,它会将 addclass 添加到菜单。

但是当 id = "element" 再次位于页面顶部下方时,如何删除 addclass

最佳答案

只需使用 toggleClass 或 removeClass:)

jQuery(document).ready(function($){
    $(window).on('scroll', function(){
        if($(window).scrollTop() >= $('#element').offset().top){
            $('.menu').addClass('addclass');
        }
        else 
        {
            $('.menu').toggleClass('addclass');
            //or use $('.menu').removeClass('addclass');
        }
 });
});

关于javascript - 到达页面顶部某个元素时如何添加class并删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56867677/

相关文章:

javascript - 什么更快 : anchoring or hide/show with JS?

javascript - 函数参数未定义

javascript - 手机上的剩余悬停效果

javascript - 为什么 Jquery 只影响第一个 div 元素?

javascript - 关于 jQuery $.each() 和 bootstrap-select.js refresh() 的性能

javascript - 单击 Angular 删除按钮时页面未刷新

javascript - google-map-react 自定义皮肤

javascript - Closure Compiler 缩小代码中 (0, obj.method)(param1, param2) 的用途

javascript - 从另一个 URL 创建图像提要

javascript - 最佳实践 : Javascript/Jquery saving variable for later use