// 首先需要给页面添加页面滚动监听事件
$(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)
}
})
如何实现一个楼层导航
最新推荐文章于 2024-04-09 23:39:18 发布