jq导航栏点击滚动到对应位置 导航栏随页面滑动变化对应导航颜色

本文介绍了如何在手机网站中创建导航栏,点击导航项时页面滑动到相应位置,并在页面滚动时改变导航栏的高亮状态。通过jQuery实现点击事件和滚动监听,使得导航栏能够根据页面位置动态更新选中状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需要做个手机站,顶端有导航栏,点击导航栏页面滑到相应位置,并且滑动页面,导航栏也随之变化。由于不大会js,只能网上找了些代码,但是都不完全适用,就自己改造了一番,写的比较粗糙,但是对初学者来说,算是比较好懂

$(function () {

var  cont1 = $("#yswy").offset().top - 100;//获取模块距页面顶部的距离,由于有固定定位的导航栏,所以减100

var  cont2 = $("#ymcz").offset().top - 100;

var cont3 = $("#yyew").offset().top - 100;

var cont4 = $("#lcyy").offset().top - 100;

KaTeX parse error: Expected 'EOF', got '#' at position 3: ('#̲but1').click(fu…(‘html,body’).animate({scrollTop:$(’#yswy’).offset().top - 91}, 400);});//点击滑动到模块位置 由于有导航栏减91

KaTeX parse error: Expected 'EOF', got '#' at position 3: ('#̲but2').click(fu…(‘html,body’).animate({scrollTop:$(’#ymcz’).offset().top - 91}, 400);});

KaTeX parse error: Expected 'EOF', got '#' at position 3: ('#̲but3').click(fu…(‘html,body’).animate({scrollTop:$(’#yyew’).offset().top - 91}, 400);});

KaTeX parse error: Expected 'EOF', got '#' at position 3: ('#̲but4').click(fu…(‘html,body’).animate({scrollTop:$(’#lcyy’).offset().top - 91}, 400);});

window.onscroll = function(){

 var t = document.documentElement.scrollTop || document.body.scrollTop;  //获取距离页面顶部的距离

 

 if(   t >=  cont1  && t <= cont2)    { //到顶部的距离介于两者之间时

    $("#but1 span").addClass("active");//添加class,改变对应导航栏颜色

 } else {

$("#but1 span").removeClass(“active”);

}

if ( t >= cont2 && t <= cont3) {

$("#but2 span").addClass(“active”);

} else {

$("#but2 span").removeClass(“active”);

}

if ( t >= cont3 && t <= cont4) {

$("#but3 span").addClass(“active”);

} else {

$("#but3 span").removeClass(“active”);

}

if ( t >= cont4 ) {

$("#but4 span").addClass(“active”);

} else {

$("#but4 span").removeClass(“active”);

}

}

})

全部文件:链接:https://pan.baidu.com/s/1tH3580pwea5YqUMlCHYiRw 密码:t7gf

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值