基于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 技巧小结
Apr 02 Javascript
javascript动态的改变IFrame的高度实现自动伸展
Oct 12 Javascript
浅析jquery的作用与优势
Dec 02 Javascript
JavaScript缓冲运动实现方法(2则示例)
Jan 08 Javascript
Jquery和angularjs获取check框选中的值的方法汇总
Jan 17 Javascript
AngularJS基础 ng-focus 指令简单示例
Aug 01 Javascript
webpack打包后直接访问页面图片路径错误的解决方法
Jun 17 Javascript
Vue完整项目构建(进阶篇)
Feb 10 Javascript
Vue.js如何使用Socket.IO的示例代码
Sep 05 Javascript
Javascript 类型转换、封闭函数及常见内置对象操作示例
Nov 15 Javascript
解决vue路由name同名,路由重复的问题
Aug 05 Javascript
解决vue props传Array/Object类型值,子组件报错的情况
Nov 07 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 文件上传源码分析(RFC1867)
2009/10/30 PHP
php获取当前网址url并替换参数或网址的方法
2010/06/06 PHP
PHP中substr()与explode()函数用法分析
2014/11/24 PHP
对比分析php中Cookie与Session的异同
2016/02/19 PHP
再次更新!MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类 Ver 1.6)
2007/02/05 Javascript
jQuery响应enter键的实现思路
2014/04/18 Javascript
js获取IP地址的方法小结
2014/07/01 Javascript
javascript引用类型指针的工作方式
2015/04/13 Javascript
实例讲解js验证表单项是否为空的方法
2016/01/09 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
2016/07/22 Javascript
jQuery层级选择器实例代码
2017/02/06 Javascript
微信小程序小组件 基于Canvas实现直播点赞气泡效果
2020/05/29 Javascript
javascript实现秒表计时器的制作方法
2017/02/16 Javascript
js 将canvas生成图片保存,或直接保存一张图片的实现方法
2018/01/02 Javascript
JQuery Ajax执行跨域请求数据的解决方案
2018/12/10 jQuery
JS学习笔记之原型链和利用原型实现继承详解
2019/05/29 Javascript
简单了解Javscript中兄弟ifream的方法调用
2019/06/17 Javascript
layui表格 返回的数据状态异常的解决方法
2019/09/10 Javascript
如何优雅地取消 JavaScript 异步任务
2020/03/22 Javascript
详解Python中的Numpy、SciPy、MatPlotLib安装与配置
2017/11/17 Python
Python自定义函数定义,参数,调用代码解析
2017/12/27 Python
python脚本实现验证码识别
2018/06/07 Python
python 3.6.2 安装配置方法图文教程
2018/09/18 Python
Python构建图像分类识别器的方法
2019/01/12 Python
pandas的排序和排名的具体使用
2019/07/31 Python
Atom Python 配置Python3 解释器的方法
2019/08/28 Python
Tensorflow 实现分批量读取数据
2020/01/04 Python
Pytorch to(device)用法
2020/01/08 Python
后勤园长自我鉴定
2013/10/17 职场文书
计算机专业学生求职信分享
2013/12/15 职场文书
大学生自我鉴定
2013/12/16 职场文书
宠物店的创业计划书范文
2014/01/11 职场文书
交通事故协议书
2014/04/15 职场文书
机电专业毕业生求职信
2014/07/01 职场文书
领导干部保密承诺书
2014/08/30 职场文书
党小组评议意见
2015/06/02 职场文书