基于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 相关文章推荐
jquery获取html元素的绝对位置和相对位置的方法
Jun 20 Javascript
js实现字符串和数组之间相互转换操作
Jan 12 Javascript
基于javascript实现动态显示当前系统时间
Jan 28 Javascript
在JavaScript中对HTML进行反转义详解
May 18 Javascript
详解vue-validator(vue验证器)
Jan 16 Javascript
Bootstrap页面缩小变形的快速解决办法
Feb 03 Javascript
JavaScript使用原型和原型链实现对象继承的方法详解
Apr 05 Javascript
JS实现批量上传文件并显示进度功能
Jun 27 Javascript
Vue.js实现列表清单的操作方法
Nov 15 Javascript
Puppeteer 爬取动态生成的网页实战
Nov 14 Javascript
node.js实现带进度条的多文件上传
Mar 27 Javascript
VSCode Vue开发推荐插件和VSCode快捷键(小结)
Aug 08 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中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述
2011/03/23 PHP
php中unlink()、mkdir()、rmdir()等方法的使用介绍
2012/12/21 PHP
php版微信公众平台接口开发之智能回复开发教程
2016/09/22 PHP
yii2 数据库读写分离配置示例
2017/02/10 PHP
PHP ADODB生成下拉列表框功能示例
2018/05/29 PHP
PHP7使用ODBC连接SQL Server2008 R2数据库示例【基于thinkPHP5.1框架】
2019/05/06 PHP
PHP常用函数之格式化时间操作示例
2019/10/21 PHP
基于jquery实现的省市区级联无ajax
2013/09/24 Javascript
jQuery jcrop插件截图使用方法
2013/11/20 Javascript
node.js中的favicon.ico请求问题处理
2014/12/15 Javascript
JavaScript插件化开发教程 (二)
2015/01/27 Javascript
javascript拖拽应用实例
2016/03/25 Javascript
Treegrid的动态加载实例代码
2016/04/29 Javascript
jQuery中Find选择器用法示例
2016/09/21 Javascript
bootstrap侧边栏圆点导航
2017/01/11 Javascript
JavaScript正则替换HTML标签功能示例
2017/03/02 Javascript
如何理解jQuery中的ajaxSubmit方法
2017/03/13 Javascript
重新理解JavaScript的六种继承方式
2017/03/24 Javascript
Angular使用cli生成自定义文件、组件的方法
2018/09/04 Javascript
如何为你的JS项目添加智能提示与类型检查详解
2019/03/12 Javascript
从0到1学习JavaScript编写贪吃蛇游戏
2020/07/28 Javascript
OpenLayers3加载常用控件使用方法详解
2020/09/25 Javascript
python检查序列seq是否含有aset中项的方法
2015/06/30 Python
Python使用正则表达式抓取网页图片的方法示例
2017/04/21 Python
python自定义线程池控制线程数量的示例
2019/02/22 Python
Python爬虫爬取电影票房数据及图表展示操作示例
2020/03/27 Python
使用Python合成图片的实现代码(图片添加个性化文本,图片上叠加其他图片)
2020/04/30 Python
python 实现一个图形界面的汇率计算器
2020/11/09 Python
俄罗斯Sportmarket体育在线商店:用于旅游和户外活动
2019/11/12 全球购物
Fox Racing英国官网:越野摩托车和山地自行车服装
2020/02/26 全球购物
宝宝满月酒主持词和仪式流程
2014/03/27 职场文书
社团活动总结书
2014/06/27 职场文书
六一儿童节活动总结
2014/08/27 职场文书
重温入党誓词主持词
2015/06/29 职场文书
《合作意向书》怎么写?
2019/08/20 职场文书
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers