基于JQuery的多标签实现代码


Posted in Javascript onSeptember 19, 2012

今天要分享的是基于JQuery实现的多标签的切换,JQuery就不用过多介绍了,网上一搜一大堆资料,当然这样的小示例也有很多,这里只是发表一些自己的想法。

下面是本次示例所使用的HTML页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>JQueryProject1</title> 
<meta name="author" content="Frank_Ren" /> 
<link type="text/css" rel="stylesheet" href="css/myCSS.css" /> 
<script type="text/javascript" src="js/jquery-1.8.1.min.js"></script> 
<script type="text/javascript" src="js/myJSFile.js"></script> 
<!-- Date: 2012-09-17 --> 
</head> 
<body> 
<div id="contenTab"> 
<ul> 
<li class="showTab"><a href="/">标签1</a></li> 
<li><a href="/">标签2</a></li> 
<li><a href="/">标签3</a></li> 
</ul> 
<div id="content"> 
<div class="showContent">这是内容1</div> 
<div>这是内容2</div> 
<div>这是内容3</div> 
</div> 
</div> 
</body> 
</html>

现在的页面还看不出有有标签的效果,所以为了使页面上出现标签效果,给一面添加一个CSS文件:
a{ 
display: block; 
text-decoration: none; 
color:white; 
} 
#contenTab ul{ 
list-style: none; 
padding:0px; 
margin:0px; 
} 
#content div.showContent{ 
line-height:100px; 
display: block; 
background-color:#B0C4DE; 
} 
.showTab{ 
background-color:#B0C4DE; 
border-bottom: 1px solid #B0C4DE; 
} 
div li{ 
background-color:#5F9EA0; 
border-bottom: 1px solid white; 
float: left; 
border-right: 1px solid white; 
color:black; 
height:30px; 
width:60px; 
line-height: 30px; 
text-align: center; 
} 
#content div{ 
background-color:#B0C4DE; 
display:none; 
clear: left; 
width:300px; 
height: 100px; 
}

到目前为止页面还只是静态页面,接下来就是最主要的的部分了,这部分就是实现通过鼠标移动来切换标签,实现动态页面,为了达到这个目的需要再添加一个JS文件,当然基于JQuery就必然少不了JQuery的JS文件,本示例使用的是最新的jquery-1.8.1.min.js,可以到JQuery的官网获得,下面是本次示例中实现标签切换的JS代码:
$(function(){ 
$("#contenTab li").each(function(){ 
var tab = $(this); 
var timeoutID; 
tab.hover(function(){ 
timeoutID = setTimeout(function(){ 
$(".showTab").removeClass("showTab"); 
$(".showContent").removeClass("showContent"); 
tab.addClass("showTab"); 
$($("#content div").get($("#contenTab li").index(tab))).addClass("showContent"); 
},300); 
},function(){ 
clearTimeout(timeoutID); 
}); 
}); 
});

到目前为止已经实现了多标签的切换。接下了记录下本次示例的几个注意事项:

1、为了实现当鼠标移到标签(也就是<li>)上让鼠标的形状变成手形,本次示例是通过将<li>里面的内容放在<a>里面来实现,当然还有跟简单的方法就是给<li>添加样式cursor: pointer;。

2、在JS代码中用到了var timeoutID = setTimeout(function,time),这是为了避免鼠标快速移动到来的误操作,time是延时的时间,function里面的就是延时time毫秒过后要执行的内容,也就是说鼠标移到标签上时不会实现立即切换的动作,而是要延时time毫秒过后才会响应切换的动作,如果鼠标在time毫秒之内离开了标签,就会执行clearTimeout(timeoutID),这样time毫秒之后就不会执行function里面的内容,这样就避免了鼠标快速移动带来的误操作。

今天就到这里了,希望对你会有所帮助。

Javascript 相关文章推荐
开发跨浏览器javascript常见注意事项
Jan 01 Javascript
统计出现最多的字符次数的js代码
Dec 03 Javascript
用JS在浏览器中创建下载文件
Mar 05 Javascript
Jquery中Event对象属性小结
Feb 27 Javascript
JavaScript焦点事件、鼠标事件和滚轮事件使用详解
Jan 15 Javascript
详解用原生JavaScript实现jQuery的某些简单功能
Dec 19 Javascript
原生javascript AJAX 三级联动的实现代码
May 04 Javascript
浅谈微信JS-SDK 微信分享接口开发(介绍版)
Aug 15 Javascript
微信小程序实现省市区三级地址选择
Jun 21 Javascript
vue+php实现的微博留言功能示例
Mar 16 Javascript
原生js实现贪吃蛇游戏
Oct 26 Javascript
Antd的table组件表格的序号自增操作
Oct 27 Javascript
一样的table?不一样的table(可编辑状态table)
Sep 19 #Javascript
jQuery学习笔记 获取jQuery对象
Sep 19 #Javascript
jQuery学习笔记 更改jQuery对象
Sep 19 #Javascript
jQuery学习笔记 操作jQuery对象 文档处理
Sep 19 #Javascript
jQuery学习笔记 操作jQuery对象 属性处理
Sep 19 #Javascript
jQuery学习笔记 操作jQuery对象 CSS处理
Sep 19 #Javascript
firefox下jQuery UI Autocomplete 1.8.*中文输入修正方法
Sep 19 #Javascript
You might like
php数组函数序列之array_flip() 将数组键名与值对调
2011/11/07 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
2014/11/18 PHP
[原创]php正则删除html代码中class样式属性的方法
2017/05/24 PHP
php实现的AES加密类定义与用法示例
2018/01/29 PHP
PHP实现新型冠状病毒疫情实时图的实例
2020/02/04 PHP
javascript编程起步(第四课)
2007/01/10 Javascript
两种简单实现菜单高亮显示的JS类代码
2010/06/27 Javascript
关于跨站脚本攻击问题
2011/12/22 Javascript
网页编辑器ckeditor和ckfinder配置步骤分享
2012/05/24 Javascript
setTimeout自动触发一个js的方法
2014/01/15 Javascript
Javascript Objects详解
2014/09/04 Javascript
仿淘宝TAB切换搜索框搜索切换的相关内容
2014/09/21 Javascript
纯javascript实现图片延时加载方法
2015/08/21 Javascript
浅析Bootstrip的select控件绑定数据的问题
2016/05/10 Javascript
JS 获取HTML标签内的子节点的方法
2016/09/21 Javascript
Nginx 配置多站点vhost 的方法
2018/01/07 Javascript
用Object.prototype.toString.call(obj)检测对象类型原因分析
2018/10/11 Javascript
[06:35]2014DOTA2国际邀请赛 老男孩梦圆西雅图中国军团世界最强
2014/07/22 DOTA
Python解释执行原理分析
2014/08/22 Python
python通过apply使用元祖和列表调用函数实例
2015/05/26 Python
Windows下使Python2.x版本的解释器与3.x共存的方法
2015/10/25 Python
PyQt5每天必学之带有标签的复选框
2018/04/19 Python
PyQt5每天必学之像素图控件QPixmap
2018/04/19 Python
python中reader的next用法
2018/07/24 Python
Python自定义一个类实现字典dict功能的方法
2019/01/19 Python
Django的models模型的具体使用
2019/07/15 Python
python中time tzset()函数实例用法
2021/02/18 Python
施华洛世奇英国官网:SWAROVSKI英国
2017/03/13 全球购物
比利时网上药店: Drogisterij.net
2017/03/17 全球购物
加利福尼亚州威尼斯的女性奢侈品设计师服装和概念店:Mona Moore
2018/09/13 全球购物
大学生演讲稿范文
2014/01/11 职场文书
焦裕禄精神心得体会
2014/09/02 职场文书
团员个人年度总结
2015/02/26 职场文书
工作态度不好检讨书
2015/05/06 职场文书
小学六年级毕业感言
2015/07/30 职场文书
SQL Server数据库基本概念、组成、常用对象与约束
2022/03/20 SQL Server