如何实现一个楼层导航

// 首先需要给页面添加页面滚动监听事件
$(window).scroll(function(){
//   当页面滚动到一定的高度时,吸顶和侧边显示
if($(window).scrollTop()>500){
    // 用动画的形式显示
    $('.searchTop').stop().slideDown(1000);
    $('.sidebar').stop().fadeIn(1000);
}else{
    $('.searchTop').stop().slideUp(1000);
    $('.sidebar').stop().fadeOut(1000);
}
// 循环遍历给所有的楼层li添加判断
  $('.storey ul li').each(function(key,item){
    //   如果上卷高度 +预留高度>楼层li距离页面顶部间距
      if($(window).scrollTop()+500>$(item).offset().top){
         $('.sidebar li').removeClass('active').eq(key).addClass('active');

      }
  })

})
// 侧边栏的点击事件
$('.sidebar li').click(function(e){
    if($(e.target).attr('name')==="back"){
        // 点击标签的name是熟悉的back点击的是返回顶部标签
        // 页面上卷高度是0
        // 运动完成
        $('html').animate({scrollTop:0},1000);
    }else if($(e.target).attr('name')==='other'){
        // 点击的标签属性是other 点击都是侧边栏li标签
        // 页面上卷高度是点击的侧边栏li对应的楼层距离顶顶部的距离
        // 按照点击的侧边栏的索引下标 查询楼层导航lih
        $('html').animate({scrollTop:$('.storey ul li').eq($(e.target).index()).offset().top-300},1000)
    }
})

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值