页面滚动时导航栏固定(增加class)?我这段代码咋就不行呢?css没有问题

发布于 2022-09-01 21:25:46 字数 542 浏览 20 评论 0

css已经设置好没问题,审查元素手动在#head-navbar的class里增加bg-header-fixed后效果没有问题。
就是不知道这个js代码该怎么弄了,就是不对,应该是页面滚动10就会增加class,可是没有效果。
请教哪位能根据这个代码,用最简短的代码给改下。搜索了好长时间也没弄成。谢谢

$(document).ready(function () {
    var navtop = $("head-navbar").offset().top;
    $(window).scrollTop(function () {
        var t = $(window).scrollTop();
        if (t > navtop) {
            $("head-navbar").addClass("bg-header-fixed");
        } else {
            $("head-navbar").removeClass("bg-header-fixed");
        }
    })
});

谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

暮色兮凉城 2022-09-08 21:25:46
//第三行写错了  应该是监听scroll事件 ,而不是scrollTop
$(document).ready(function () {
    var navtop = $("head-navbar").offset().top;
    $(window).scroll(function () {
        var t = $(window).scrollTop();
        if (t > navtop) {
            $("head-navbar").addClass("bg-header-fixed");
        } else {
            $("head-navbar").removeClass("bg-header-fixed");
        }
    })
});
淡淡の花香 2022-09-08 21:25:46

附上经过@nightire 指点后小白我亲测可用代码,相关CSS样式设置仅供参考。

/*
 页面滚动时导航栏固定(增加class)
 */
<script>
$(document).ready(function () {
    $(window).on('scroll', function () {
        var t = $(window).scrollTop();
        if (t > 10) {
            $("#head-navbar").addClass("bg-header-fixed");
        } else {
            $("#head-navbar").removeClass("bg-header-fixed");
        }
    })
});
</script>
<style>
.bg-header-fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 2;
    background-color: rgba(216, 214, 176, 0.9) !important;
}
</style>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文