基于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的Node遍历找到repeater的一个字段实例介绍
Apr 25 Javascript
解析javascript 浏览器关闭事件
Jul 08 Javascript
禁用Tab键JS代码兼容Firefox和IE
Apr 18 Javascript
Js实现手机发送验证码时按钮延迟操作
Jun 20 Javascript
JS自定义选项卡函数及用法实例分析
Sep 02 Javascript
jQuery Form表单取值的方法
Jan 11 Javascript
JavaScript 事件流、事件处理程序及事件对象总结
Apr 01 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
Aug 17 Javascript
前端图片懒加载(lazyload)的实现方法(提高用户体验)
Aug 21 Javascript
vue组件表单数据回显验证及提交的实例代码
Aug 30 Javascript
Vue模板语法中数据绑定的实例代码
May 17 Javascript
在vue中使用Echarts画曲线图的示例
Oct 03 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
用Socket发送电子邮件
2006/10/09 PHP
PHP中的Memcache详解
2014/04/05 PHP
详解php中反射的应用
2016/03/15 PHP
php基于CodeIgniter实现图片上传、剪切功能
2016/05/14 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
2019/05/31 PHP
jquery下checked取值问题的解决方法
2012/08/09 Javascript
javascript实现多栏闭合展开式广告位菜单效果实例
2015/08/05 Javascript
JS实现带圆弧背景渐变效果的导航菜单代码
2015/10/13 Javascript
AngularJS实现与Java Web服务器交互操作示例【附demo源码下载】
2016/11/02 Javascript
js实现图片360度旋转
2017/01/22 Javascript
几行js代码实现自适应
2017/02/24 Javascript
JavaScript实现异步图像上传功能
2018/07/12 Javascript
详解Vue结合后台的列表增删改案例
2018/08/21 Javascript
vue操作下拉选择器获取选择的数据的id方法
2018/08/24 Javascript
详解Webpack loader 之 file-loader
2018/11/07 Javascript
vue+AI智能机器人回复功能实现
2020/07/16 Javascript
python实现websocket的客户端压力测试
2019/06/25 Python
Python 使用folium绘制leaflet地图的实现方法
2019/07/05 Python
python爬取盘搜的有效链接实现代码
2019/07/20 Python
django 实现celery动态设置周期任务执行时间
2019/11/19 Python
Pandas之read_csv()读取文件跳过报错行的解决
2020/04/21 Python
Django中和时区相关的安全问题详解
2020/10/12 Python
美国著名童装品牌:OshKosh B’gosh
2016/08/05 全球购物
汽车维修专业毕业生的求职信分享
2013/12/04 职场文书
五好党支部事迹材料
2014/02/06 职场文书
小学毕业感言50字
2014/02/16 职场文书
《乡下孩子》教学反思
2014/04/17 职场文书
社会稳定风险评估方案
2014/06/02 职场文书
2015年实习生工作总结报告
2015/04/28 职场文书
小马王观后感
2015/06/11 职场文书
董事长开业致辞
2015/07/29 职场文书
2016年教师学习廉政准则心得体会
2016/01/20 职场文书
《云雀的心愿》教学反思
2016/02/23 职场文书
2019年国庆祝福语(70句)
2019/09/19 职场文书
redis实现共同好友的思路详解
2021/05/26 Redis
Vue监视数据的原理详解
2022/02/24 Vue.js