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

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

 


2.编写代码

<div class="page-news-nav">
<ul class="news-nav-ul">
<li class="news-nav-li "><a href="#" class="news-nav-word nav-word-on">所有新闻</a></li>
<li class="news-nav-li "><a href="#" class="news-nav-word">中梦咨询</a></li>
<li class="news-nav-li "><a href="#" class="news-nav-word">中梦视频</a></li>
<li class="news-nav-li"><a href="#" class="news-nav-word">行业新闻</a></li>
<li class="news-nav-li "><a href="#" class="news-nav-word">售前问题</a></li>
<li class="news-nav-li "><a href="#" class="news-nav-word">售后问题</a></li>
<li class="news-nav-li "><a href="#" class="news-nav-word">技术文档</a></li>
<li class="news-nav-li "><a href="#" class="news-nav-word">建站须知</a></li>
</ul>
</div>

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文件<script src="js/jquery-1.9.1.min.js"></script>
 
<script>
$(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);
})
})
</script>
效果就实现啦!

时间: 2024-09-20 00:22:27

css实现菜单列表随滚动条指定到对应内容的相关文章

CSS实例教程:用列表ul制作CSS横向菜单的基础知识

在前面的文章中学习<用列表ul制作CSS横向菜单的基础知识>/article.asp?id=395.实现的原理我们都能理解了,但这样的菜单还远远不能满足我们的需要,我们需要制作出比较美观的菜单,我们今天学习让菜单有一个矩形的背景,并且当鼠标激活时能有所变化(hover).废话不多说了,让我们开始吧! <ul id="nav">       <li><a href="http://www.111cn.net/">Div+

纯css导航菜单40例

如果在网站中有什么可以为用户留下第一印象的话,那么一定非创意实用的网站导航菜单莫属吧,在崇尚操作实用,注重体验的Web设计中,导航菜单的作用举足轻重. 如果在网站中有什么可以为用户留下第一印象的话,那么一定非创意实用的网站导航菜单莫属吧,在崇尚操作实用,注重体验的Web设计中,导航菜单的作用举足轻重.它可以引导用户更好地浏览网站内容,让用户更快速地找到感兴趣的内容. 在这篇文章中,整理搜集了40多套优秀的CSS导航菜单实例资源,下载即可使用,修改模板和结构也是非常的方便,应用在你的网站开发过程中

CSS制作网页实例:改变滚动条的样式

文章简介:相信很多人都遇到过在设计中自定义滚动条样式的情景,之前我都是努力说服设计师接受浏览器自带的滚动条样式,但是这样只能规避还是解决不了问题,最近在项目中遇到了,正好来总结一下.当然,兼容所有浏览器的滚动条样式目前是不存在的. 相信很多人都遇到过在设计中自定义滚动条样式的情景,之前我都是努力说服设计师接受浏览器自带的滚动条样式,但是这样只能规避还是解决不了问题,最近在项目中遇到了,正好来总结一下.当然,兼容所有浏览器的滚动条样式目前是不存在的. IE下的滚动条样式 IE是最早提供滚动条的样式

JS+CSS实现Li列表隔行换色效果的方法

 这篇文章主要介绍了JS+CSS实现Li列表隔行换色效果的方法,实例分析了js操作li节点的技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了JS+CSS实现Li列表隔行换色效果的方法.分享给大家供大家参考.具体实现方法如下:   代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-tra

Java界面的JComboBox下拉菜单列表按钮点击,列表无法弹出是怎么回事???

问题描述 Java界面的JComboBox下拉菜单列表按钮点击,列表无法弹出是怎么回事??? 解决方案 你没给按钮写个监听器吗? 解决方案二: 有可能是脚本有错误,开启脚本错误检测,看下是哪里错了 解决方案三: http://zhidao.baidu.com/link?url=enQJkPyZ2lbZHRczPjs607asvJrk4GIIlmW1xFJB055rlXTp1IcqjaNMqib-W-588J5M7DWBunQP6fJ-YiRRzK监听器代码

ExpandableListView 在子菜单列表项中,点击查看更多,显示余下的子菜单数据

问题描述 ExpandableListView在子菜单列表项中,点击查看更多,显示余下的子菜单数据,(就好像图中有180条数据,我只显示50条,剩下的点击查看更多显示),我试过在ExpandableListView的子菜单添加下拉组件pulltofresh,但是不显示数据,不出错请问有谁做过这类似的demo,共享一下 解决方案

css导航菜单源码

提示:您可以先修改部分代码再运行 css导航菜单源码 Home Single Level Dropdown Dropline Flyout Support Contact 提示:您可以先修改部分代码再运行

以前写的两个CSS树形菜单_经验交流

第一次写的CSS树形菜单比较简单,只有二级目录,javascript代码总共不到十行,主要是靠CSS中的包含写法来实现的.演示地址:(1)http://www.cnlei.org/mycode/csstreemenu/index.html(2)http://cnlei.iecn.net/mycode/csstreemenu/index.html下载链接:(1)http://www.cnlei.org/mycode/csstreemenu/csstreemenu.rar(2)http://cnle

JS+CSS实现Li列表隔行换色效果的方法_javascript技巧

本文实例讲述了JS+CSS实现Li列表隔行换色效果的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xh