导航栏固定,锚点平滑滚动
时间:2023-04-02 18:01:25
HTML
导航一导航二导航三导航四 导航栏固定,页面滚动时导航栏高亮显示。方案一:$(window).scroll(function(){//为页面添加页面滚动监听事件varwst=$(window).scrollTop()//距离滚动条顶部的距离console.log("距滚动条顶部的距离:"+wst)varlen=5;for(vari=1;i
=wst;}console.log(condition,i)if(condition){//判断滚动条的位置$('.navbar-navli').removeClass("active");//清除类c$("#navbar"+i).addClass("active");//在当前导航中加入classc}}})方案二:1、导航栏固定不透明$(window).scroll(function(){var$nav=$(".navbar-collapseulli"),length=$nav.length-1,//获取导航菜单中ulli的个数item=newArray(),//创建一个新数组sTop=$(window).scrollTop();//获取(vari=0;idiv:first-child").offset().top;if(sTop>=item[i+1]){$nav.eq(i).addClass("active").siblings("li").removeClass("active");}}else{项目[i+1]=$(".page-wrapper>div:nth-child("+(i+1)+")").offset().top;if(sTop>=item[i+1]-100){$nav.eq(i).addClass("active").siblings("li").removeClass("active");}}}})2.导航栏固定透明$(window).scroll(function(){var$nav=$(".navbar-collapseulli"),length=$nav.length,//获取导航菜单中ulli的个数item=newArray(),//创建一个新数组sTop=$(window).scrollTop();//获取偏移高度for(vari=0;idiv:nth-child("+(i+1)+")").offset().top;如果(sTop>=item[i+1]){$nav.eq(i).addClass("active").siblings("li").removeClass("active");}}})选项3:使用Bootstrapdata-spy="scroll"<!——……--> $('body').scrollspy({target:'.navbar-default'})锚点平滑滚动$('a').click(function(){//根据a标签的href转换为id选择器,得到id元素的位置,高度减去50px(这里根据需要自由设置)$('html,body').animate({scrollTop:($($(this).attr('href')).offset().top)},500);});