基于JQuery的多标签实现代码
今天要分享的是基于jquery实现的多标签的切换,jquery就不用过多介绍了,网上一搜一大堆资料,当然这样的小示例也有很多,这里只是发表一些自己的想法。
下面是本次示例所使用的html页面:
代码如下:
<!doctype html public "-//w3c//dtd html 4.01//en" "https://www.w3.org/tr/html4/strict.dtd">
<html xmlns="https://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>
<p id="contentab">
<ul>
<li class="showtab"><a href="/">标签1</a></li>
<li><a href="/">标签2</a></li>
<li><a href="/">标签3</a></li>
</ul>
<p id="content">
<p class="showcontent">这是内容1</p>
<p>这是内容2</p>
<p>这是内容3</p>
</p>
</p>
</body>
</html>
现在的页面还看不出有有标签的效果,所以为了使页面上出现标签效果,给一面添加一个css文件:
. 代码如下:
a{
display: block;
text-decoration: none;
color:white;
}
#contentab ul{
list-style: none;
padding:0px;
margin:0px;
}
#content p.showcontent{
line-height:100px;
display: block;
background-color:#b0c4de;
}
.showtab{
background-color:#b0c4de;
border-bottom: 1px solid #b0c4de;
}
p 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 p{
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 p").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里面的内容,这样就避免了鼠标快速移动带来的误操作。
推荐阅读
-
jQuery截取指定长度字符串的实现原理及代码_jquery
-
Java基于swing实现的弹球游戏代码
-
Jquery使用mouseenter和mouseleave事件实现鼠标经过弹出层且可以点击的示例代码分享
-
用PHP写的基于Memcache的Queue实现代码_php技巧
-
jQuery实现下拉菜单的实例代码
-
通过Jquery遍历Json的两种数据结构的实现代码_jquery
-
基于matlab对比度和结构提取的多模态解剖图像融合实现
-
使用jQuery轻松实现Ajax的实例代码_jquery
-
jQuery中的RadioButton,input,CheckBox取值赋值实现代码_PHP
-
基于jquery的9行js轻松实现tab控件示例