基于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 相关文章推荐
用js生产批量批处理执行命令
Jul 28 Javascript
JS实现将人民币金额转换为大写的示例代码
Feb 13 Javascript
JS弹出层单纯的绝对定位居中示例代码
Feb 18 Javascript
调用DOM对象的focus使文本框获得焦点
Feb 19 Javascript
jQuery-mobile事件监听与用法详解
Nov 23 Javascript
javascript动画系列之模拟滚动条
Dec 13 Javascript
Node.js学习之TCP/IP数据通讯(实例讲解)
Oct 11 Javascript
浅谈Vue响应式(数组变异方法)
May 07 Javascript
深入浅析Node环境和浏览器的区别
Aug 14 Javascript
Koa从零搭建到Api实现项目的搭建方法
Jul 30 Javascript
JavaScript canvas实现雪花随机动态飘落
Feb 08 Javascript
js实现简易拖拽的示例
Oct 26 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出错界面
2006/10/09 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
2016/02/15 PHP
php 输入输出流详解及示例代码
2016/08/25 PHP
Laravel学习基础之migrate的使用教程
2017/10/11 PHP
PHP使用ajax的post方式下载excel文件简单示例
2019/08/06 PHP
一种JavaScript的设计模式
2006/11/22 Javascript
javascript 文档的编码问题解决
2009/03/01 Javascript
iframe自适应宽度、高度 ie6 7 8,firefox 3.86下测试通过
2010/07/29 Javascript
用dtree实现树形菜单 dtree使用说明
2011/10/17 Javascript
深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
2012/01/15 Javascript
基于javascript如何传递特殊字符
2015/11/30 Javascript
Eclipse引入jquery报错如何解决
2015/12/01 Javascript
Js的Array数组对象详解
2016/02/22 Javascript
BootStrap Table对前台页面表格的支持实例讲解
2016/12/22 Javascript
详解vue-router2.0动态路由获取参数
2017/06/14 Javascript
jQuery简介_动力节点Java学院整理
2017/07/04 jQuery
超简单的微信小程序轮播图
2019/11/22 Javascript
js判断一个对象是数组(函数)的方法实例
2019/12/19 Javascript
[03:27]最受玩家喜爱奖提名:PZH_Element 致玩家寄语
2016/12/20 DOTA
[49:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 KG VS TNC
2018/03/31 DOTA
Python之NumPy(axis=0 与axis=1)区分详解
2019/05/27 Python
用Python徒手撸一个股票回测框架搭建【推荐】
2019/08/05 Python
python3的数据类型及数据类型转换实例详解
2019/08/20 Python
pyenv虚拟环境管理python多版本和软件库的方法
2019/12/26 Python
在PyTorch中使用标签平滑正则化的问题
2020/04/03 Python
python对输出的奇数偶数排序实例代码
2020/12/04 Python
纯CSS3实现漂亮的input输入框动画样式库(Text input love)
2018/12/29 HTML / CSS
HTML5、Select下拉框右边加图标的实现代码(增进用户体验)
2017/10/16 HTML / CSS
法国最大的在线眼镜店:EasyLunettes
2019/08/26 全球购物
数据库测试通常都包括哪些方面
2015/11/30 面试题
开朗女孩的自我评价
2014/02/10 职场文书
三年级学生评语
2014/04/23 职场文书
2014年会计工作总结
2014/11/27 职场文书
放弃遗产继承公证书
2015/01/26 职场文书
企业年会祝酒词
2015/08/11 职场文书
2020年元旦晚会策划书模板
2019/12/30 职场文书