css 选择一列表菜单,css实现菜单列表随滚动条指定到对应内容

最近写了一个新闻页面,要求列表底部5px的蓝色边框随滚动条的变化对应到指定的内容,同时列表下边框也随着变化,先给大家看下效果图样式

f37f4d8fef8359423f83b9e4eb6920a3.png

2.编写代码

3.添加样式

.page-news-nav{

width: 100%;

height: 87px;

background: #fff;

box-shadow: 0 3px 5px rgba(193,193,193,1);

filter: progid:DXImageTransform.Microsoft.Shadow(color='#c1c1c1', Direction=135, Strength=5,);/*for ie6,7,8*/

-moz-box-shadow:0 3px 5px rgba(193,193,193,1);/*firefox*/

-webkit-box-shadow:0 3px 5px rgba(193,193,193,1);/*webkit*/

}

.news-nav-ul{

width: 1000px;

margin: 0 auto;

}

.page-news-nav ul li {

float: left;

width:125px;

height: 87px;

}

.page-news-nav .news-nav-word{

display: block;

width: 81px;

height: 87px;

font-size: 14px;

color: #000;

text-align: center;

line-height: 87px;

cursor: pointer;

text-decoration: none;

}

.page-news-nav .nav-word-on{

height: 82px;

border-bottom: 5px solid #00a0ea;

}

4.编写js代码

引入jq文件

$(function(){

// 获取菜单栏到顶部的距离

var navH=$(".page-news-nav").offset().top;

$(window).scroll(function(){

// 获取滚动条滑动距离

var scroH=document.body.scrollTop;

if(scroH>=navH+10){

$(".page-news-nav").css({"position":"fixed","top":"0","z-index":"9999"});

}else{

$(".page-news-nav").css({"position":"static"}) ;

}

if(scroH>=0 && scroH<300){

$(".news-nav-word").removeClass("nav-word-on");

$(".nav-li-one").addClass("nav-word-on");

}else if(scroH>=300 && scroH<700){

$(".news-nav-word").removeClass("nav-word-on");

$(".nav-li-two").addClass("nav-word-on");

}else if(scroH>=700 && scroH<1300){

$(".news-nav-word").removeClass("nav-word-on");

$(".nav-li-three").addClass("nav-word-on");

}else if(scroH>=1300 && scroH<1800){

$(".news-nav-word").removeClass("nav-word-on");

$(".nav-li-four").addClass("nav-word-on");

}else if(scroH>=1800 && scroH<2500){

$(".news-nav-word").removeClass("nav-word-on");

$(".nav-li-five").addClass("nav-word-on");

}else if(scroH>=2500 && scroH<3100){

$(".news-nav-word").removeClass("nav-word-on");

$(".nav-li-six").addClass("nav-word-on");

}else if(scroH>=3100 && scroH<3700){

$(".news-nav-word").removeClass("nav-word-on");

$(".nav-li-seven").addClass("nav-word-on");

}else if(scroH>=3700 && scroH<4000){

$(".news-nav-word").removeClass("nav-word-on");

$(".nav-li-eight").addClass("nav-word-on");

}

})

$(".nav-li-one").click(function(){

$('body,html').animate({scrollTop:0},500);

})

$(".nav-li-two").click(function(){

$('body,html').animate({scrollTop:472},500);

})

$(".nav-li-three").click(function(){

$('body,html').animate({scrollTop:1000},500);

})

$(".nav-li-four").click(function(){

$('body,html').animate({scrollTop:1600},500);

})

$(".nav-li-five").click(function(){

$('body,html').animate({scrollTop:2200},500);

})

$(".nav-li-six").click(function(){

$('body,html').animate({scrollTop:2800},500);

})

$(".nav-li-seven").click(function(){

$('body,html').animate({scrollTop:3400},500);

})

$(".nav-li-eight").click(function(){

$('body,html').animate({scrollTop:4000},500);

})

})

效果就实现啦!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值