手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >基于JQuery的多标签实现代码
基于JQuery的多标签实现代码
摘要:今天要分享的是基于JQuery实现的多标签的切换,JQuery就不用过多介绍了,网上一搜一大堆资料,当然这样的小示例也有很多,这里只是发表一...

今天要分享的是基于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>

<>

</head>

<body>

<div id="contenTab">

<ul>

<li><a href="/">标签1</a></li>

<li><a href="/">标签2</a></li>

<li><a href="/">标签3</a></li>

</ul>

<div id="content">

<div>这是内容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里面的内容,这样就避免了鼠标快速移动带来的误操作。

今天就到这里了,希望对你会有所帮助。

【基于JQuery的多标签实现代码】相关文章:

JavaScript基于setTimeout实现计数的方法

jQuery实现返回顶部效果的方法

动态加载jQuery的方法

Js和JQuery获取鼠标指针坐标的实现代码分享

JQuery中层次选择器用法实例详解

JavaScript模版引擎的基本实现方法浅析

jQuery仿gmail实现fixed布局的方法

jQuery实现的多屏图像图层切换效果实例

js实现异步循环实现代码

JQuery中两个ul标签的li互相移动实现方法

精品推荐
分类导航