基于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 查找新建元素代码
Jul 06 Javascript
js列举css中所有图标的实现代码
Jul 04 Javascript
ASP.NET jQuery 实例5 (显示CheckBoxList成员选中的内容)
Jan 13 Javascript
使用javascript为网页增加夜间模式
Jan 26 Javascript
ExtJs纵坐标值重复问题的解决方法
Feb 27 Javascript
JQuery对表格进行操作的常用技巧总结
Apr 23 Javascript
node.js中的fs.stat方法使用说明
Dec 16 Javascript
AngularJs学习第八篇 过滤器filter创建
Jun 08 Javascript
Jquery和BigFileUpload实现大文件上传及进度条显示
Jun 27 Javascript
js简单获取表单中单选按钮值的方法
Aug 23 Javascript
AngularJS API之copy深拷贝详解及实例
Sep 14 Javascript
详解angularjs 关于ui-router分层使用
Jun 12 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 heredoc和phpwind的模板技术使用方法小结
2008/03/28 PHP
PHP ajax 分页类代码
2008/11/13 PHP
php实现jQuery扩展函数
2009/10/30 PHP
完美实现wordpress禁止文章修订和自动保存的方法
2014/11/03 PHP
CI框架集成Smarty的方法分析
2016/05/17 PHP
php基于curl实现随机ip地址抓取内容的方法
2016/10/11 PHP
利用PHP绘图函数实现简单验证码功能的方法
2016/10/18 PHP
PHP面向对象多态性实现方法简单示例
2017/09/27 PHP
php实现的表单验证类完整示例
2019/08/13 PHP
document.forms[].submit()使用介绍
2014/02/19 Javascript
jQuery异步上传文件插件ajaxFileUpload详细介绍
2015/05/19 Javascript
jquery实现Li滚动时滚动条自动添加样式的方法
2015/08/10 Javascript
JavaScript实现刷新不重记的倒计时
2016/08/10 Javascript
在JavaScript中调用Java类和接口的方法
2016/09/07 Javascript
jQuery实现简单的tab标签页效果
2016/09/12 Javascript
从零学习node.js之文件操作(三)
2017/02/21 Javascript
Javascript中字符串相关常用的使用方法总结
2017/03/13 Javascript
Web前端框架Angular4.0.0 正式版发布
2017/03/28 Javascript
vue loadmore组件上拉加载更多功能示例代码
2017/07/19 Javascript
angularjs http与后台交互的实现示例
2018/12/21 Javascript
深入浅析Vue中mixin和extend的区别和使用场景
2019/08/01 Javascript
countUp.js实现数字动态变化效果
2019/10/17 Javascript
python开发的小球完全弹性碰撞游戏代码
2013/10/15 Python
python局域网ip扫描示例分享
2014/04/03 Python
python smtplib模块发送SSL/TLS安全邮件实例
2015/04/08 Python
pandas中的DataFrame按指定顺序输出所有列的方法
2018/04/10 Python
Django工程的分层结构详解
2019/07/18 Python
利用pytorch实现对CIFAR-10数据集的分类
2020/01/14 Python
django admin 添加自定义链接方式
2020/03/11 Python
html5的websockets全双工通信详解学习示例
2014/02/26 HTML / CSS
印度购买眼镜和太阳镜网站:Coolwinks
2018/09/26 全球购物
年检委托书
2014/08/30 职场文书
2016年大学自主招生自荐信范文
2015/03/24 职场文书
让世界充满爱观后感
2015/06/10 职场文书
研究生毕业登记表的自我鉴定范文
2019/07/15 职场文书
goland 设置project gopath的操作
2021/05/06 Golang