最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

使用JS实现导航切换时高亮显示的示例讲解

来源:懂视网 责编:小采 时间:2020-11-27 22:09:31
文档

使用JS实现导航切换时高亮显示的示例讲解

使用JS实现导航切换时高亮显示的示例讲解:index.html代码内容 <!DOCTYPE html> <html> <head> <meta charset=utf-8> <title>导航高亮显示</title> <style type=text/css> body{ font-size:20
推荐度:
导读使用JS实现导航切换时高亮显示的示例讲解:index.html代码内容 <!DOCTYPE html> <html> <head> <meta charset=utf-8> <title>导航高亮显示</title> <style type=text/css> body{ font-size:20

index.html代码内容

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
	<title>导航高亮显示</title>
	<style type="text/css">
	body{
	font-size:20px;
	}
	.nav{
	list-style-type: none;
	margin:0;
	padding:0;
	}
	.clear:after{
	content:'/20';
	display:block;
	clear:both;
	height:0;
	visibility: hidden;
	}
	.nav li{
	float:left;
	background:#B1DFF5;
	margin-right:1px;
	color:#fff;
	}
	.nav li a{
	display:block;
	height:45px;
	width:120px;
	line-height:45px;
	text-align:center;
	text-decoration:none;
	}
	.active{
	background:#28b1f3;
	font-weight:bold;
	}
	</style>
</head>
<body>
	<ul class="nav clear" id="nav">
	<li><a href="index.html" rel="external nofollow" rel="external nofollow" >首页</a></li>
	<li><a href="1.html" rel="external nofollow" rel="external nofollow" >栏目一</a></li>
	<li><a href="2.html" rel="external nofollow" rel="external nofollow" >栏目二</a></li>
	<li><a href="3.html" rel="external nofollow" rel="external nofollow" >栏目三</a></li>
	</ul>
</body>
<script type="text/javascript" src="js/jquery-1.7.min.js"></script>
<script type="text/javascript">
	var urlstr = location.href;
	console.log(urlstr+'/');
 var urlstatus=false;
 $("#nav a").each(function () { 
 if ((urlstr + '/').indexOf($(this).attr('href')) > -1&&$(this).attr('href')!='') {
 $(this).addClass('active'); urlstatus = true;
 } else {
 $(this).removeClass('active');
 }
 });
 if (!urlstatus) {$("#nav a").eq(0).addClass('active'); }
</script>
</html>

1.html代码内容

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
	<title>栏目一</title>
	<style type="text/css">
	body{
	font-size:20px;
	}
	.nav{
	list-style-type: none;
	margin:0;
	padding:0;
	}
	.clear:after{
	content:'/20';
	display:block;
	clear:both;
	height:0;
	visibility: hidden;
	}
	.nav li{
	float:left;
	background:#B1DFF5;
	margin-right:1px;
	color:#fff;
	}
	.nav li a{
	display:block;
	height:45px;
	width:120px;
	line-height:45px;
	text-align:center;
	text-decoration:none;
	}
	.active{
	background:#28b1f3;
	font-weight:bold;
	}
	</style>
</head>
<body>
<ul class="nav clear" id="nav">
	<li><a href="index.html" rel="external nofollow" rel="external nofollow" >首页</a></li>
	<li><a href="1.html" rel="external nofollow" rel="external nofollow" >栏目一</a></li>
	<li><a href="2.html" rel="external nofollow" rel="external nofollow" >栏目二</a></li>
	<li><a href="3.html" rel="external nofollow" rel="external nofollow" >栏目三</a></li>
	</ul>
<h1>栏目一</h1>
</body>
<script type="text/javascript" src="js/jquery-1.7.min.js"></script>
<script type="text/javascript">
	var urlstr = location.href;
	console.log(urlstr+'/');
 var urlstatus=false;
 $("#nav a").each(function () { 
 if ((urlstr + '/').indexOf($(this).attr('href')) > -1&&$(this).attr('href')!='') {
 $(this).addClass('active'); urlstatus = true;
 } else {
 $(this).removeClass('active');
 }
 });
 if (!urlstatus) {$("#nav a").eq(0).addClass('active'); }
</script>
</html>

效果图

注意:

1、 location.href 用于获取当前页面的url

2、 当前页面应该保存为index.html

3、 indexOf 用于检索当前url中是否存在a中对应的href

4、 每个html中都拥有相同的导航结构

5、 eq(index/-index) 获取当前链式操作中第N个JQuery对象,返回JQquery对象,当参数大于等于0时为正向选取,比如0代表第一个,1代表第二个。当参数为负数时为反向选取,比如-1代表倒数第一个。

拓展知识:js实现导航菜单点击切换选中时高亮状态方法

通过 include() 或require() 函数,您可以在服务器执行 PHP 文件之前在该文件中插入一个文件的内容。

除了它们处理错误的方式不同之外,这两个函数在其他方面都是相同的。

include() 函数会生成一个警告(但是脚本会继续执行),

而 require() 函数会生成一个致命错误(fatal error)(在错误发生后脚本会停止执行)。

这两个函数用于创建可在多个页面重复使用的函数、页眉、页脚或元素。

这会为开发者节省大量的时间。

这意味着您可以创建供所有网页引用的标准页眉或菜单文件。当页眉需要更新时,您只更新一个包含文件就可以了,或者当您向网站添加一张新页面时,仅仅需要修改一下菜单文件(而不是更新所有网页中的链接)。

这时就会出现这样的问题:导航高亮应该怎样处理?

公共代码提出后就不可能在每个页面的导航栏目后加class=“active”属性进行修改,这时就需要使用javascript来搞定。

代码如下:

<script type="text/javascript" src="http://www.daixiaorui.com/Public/js/jquery.min.js"></script>
<style>
 .menu { padding:0; margin:0; list-style-type:none;}
 .menu li { background:#FFD1A4; margin-right:1px; float:left; color:#fff; }
 .menu li a { display:block; width:80px; text-align:center; height:32px; line-height:32px; color:#fff; font-size:13px; text-decoration:none;}
 
 .cur{ background:#D96C00; font-weight:bold;}
</style>
 
<ul class="menu" id="menu">
 <li><a href="demo1.html?aa=1" rel="external nofollow" >首页</a></li>
 <li><a href="demo1.html?aa=2" rel="external nofollow" >栏目一</a></li>
 <li><a href="demo1.html?aa=3" rel="external nofollow" >栏目二</a></li>
</ul>
 
<script type="text/javascript">
 var urlstr = location.href;
 //alert(urlstr);
 var urlstatus=false;
 $("#menu a").each(function () {
 if ((urlstr + '/').indexOf($(this).attr('href')) > -1&&$(this).attr('href')!='') {
 $(this).addClass('cur'); urlstatus = true;
 } else {
 $(this).removeClass('cur');
 }
 });
 if (!urlstatus) {$("#menu a").eq(0).addClass('cur'); }
</script>

运行效果:

以上这篇使用JS实现导航切换时高亮显示的示例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

使用JS实现导航切换时高亮显示的示例讲解

使用JS实现导航切换时高亮显示的示例讲解:index.html代码内容 <!DOCTYPE html> <html> <head> <meta charset=utf-8> <title>导航高亮显示</title> <style type=text/css> body{ font-size:20
推荐度:
标签: 切换 导航 js
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top