div滚动至顶部后固定在顶部

前言

在浏览网页的时候,经常会看到这种效果:导航栏向上滚动到浏览器顶部之后就固定在顶部不再往上,而向下滚动回来的时候又跟着原来的布局下去
在这里插入图片描述
在这里插入图片描述

实现的方式可以是通过jquery注册滚动事件,在事件中判断导航栏到顶部的距离,如果小于等于0则将导航栏的css样式中的position设置为fixed,并且改变一下颜色等样式(可选)。如果大于0则回复原来的样式。

<script type="application/javascript">
    /*导航栏滚动到顶部后fix*/
    $(function () {
        var elm = $('.nav-bar');
        var startPos = $(elm).offset().top;
        $.event.add(window, "scroll", function () {
            var p = $(window).scrollTop();
            if ((p) > startPos) {  //到顶部
                $(elm).css('position', 'fixed');
                $(elm).css('top', '0px');
             
            } else { //拉回来
                $(elm).css('position', 'relative');
            }
        });
    });
</script>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值