浅谈jquery电梯事件

初学电梯事件

1.本人第一次用jquery做电梯事件,在此分享一些经验,小白一个,若有更好的方法,请随时指正

先引入jquery库

<script src="js/jquery.min.js"></script>

首先是显示与隐藏,个人觉得用fadeIn(),fadeOut()效果会更好些,
当页面滚动到目标是显示

  toggelTop()
    function toggelTop(){
        if($(document).scrollTop() >= top){
            $(".fixedtool").fadeIn()
        }else{
            $(".fixedtool").fadeOut()
        }
    }

电梯事件主要有两点核心,
一:点击小li跳转到对应的小li
利用jquery库的隐式迭代

 // 点击左边的小li,滚动到对应的位置
    $(".fixedtool li").click(function(){
        var current = $(".floor .w").eq($(this).index()).offset().top
        $("body,html").stop().animate({
            scrollTop:current
        })//只有元素能做动画
        // 同时修改背景色
        $(this).addClass("current").siblings().removeClass()
    })
})

二:页面滚动到某个内容区域,左边电梯导航小li相应添加和删除current类名
利用each(),遍历模块的数量,若页面滚动到该模块到上方的距离时

   $(window).scroll(function(){
    toggelTop()
    //  页面滚动到第几个,左边索引对应到第几个
            $(".floor .w").each(function(i,ele){
                if($(document).scrollTop() >= $(ele).offset().top){
                   //  console.log(i);
                   $(".fixedtool li").eq(i).addClass("current").siblings().removeClass()
                }
           })
   })

这时还有一个小bug,若点击左侧小li时,会自上而下开始,因为在页面滚动是会给对应的左侧添加和current类名,
可利用节流阀来控制

思路真的很重要

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值