js 浏览器滑动页面滚动条时,获取元素距离浏览器顶部距离,并且固定浮动导航...

 浏览器滑动页面滚动条时,获取元素距离浏览器顶部距离,动态获取。

举个栗子:

这是要循环的div,要菜单$(".mdtit") 在$(".box")距离顶部小于20px时保持浮动。

<div class="container">
<div class="box">
    <div class="mdtit">
        <div style="height:1.8rem;overflow:hidden; background: #fff;">
            <div class="maintit"><strong>学校介绍</strong></div>
            <div class="more">
                <a href="{:U('Article/index',['id'=>32])}">更多</a>
            </div>
        </div>
    </div>
<div class="mainlist">
    <ul>
        <volist name="listXsjs" id="l">
            <li>
                <!--<div class="listleft"><img src="{$l.litpic|getPhotoUrl}"> </div>-->
                <div class="listright nl">
                    <p><a href="{:U('Article/detail',['id'=>$l['id']])}">{$l.title}</a></p>
                </div>
            </li>
        </volist>
    </ul>
</div>
    </div>
</div>

 

.nav_index_fix {
    position: fixed;
    left: 0;
    top: 0;
}

 

    $(function(){
        $(window).scroll(function(){
            $(".box").each(function(){                //所有需要计算距离浏览器顶端高度的元素
                var scrollTop = $(window).scrollTop();// 网页被卷起来的高度
                var nap_top = $(this).offset().top;        //页面元素距离文档顶端高度距离
                if(nap_top-scrollTop < 20){              //元素距离浏览器顶部高度
                    $(".mdtit").removeClass("nav_index_fix");      
                    $(this).children(".mdtit").addClass("nav_index_fix");
                }else{
                    $(this).find(".mdtit").removeClass("nav_index_fix");
                }
            })
        });
    });

注意:声明的变量必须写在each循环里面,当滑动时才能动态获取当前元素距离顶部的距离

转载于:https://www.cnblogs.com/i6010/articles/6543067.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值