基于JQuery的多标签的实现

最近在学习JQuery,其实也不叫学习,很久以前就学过,只是有一段时间没用,有些生疏了,于是就做几个小例子来练习练习,为了方便以后查找就将这些小示例记录下来。

今天要分享的是基于JQuery实现的多标签的切换,JQuery就不用过多介绍了,网上一搜一大堆资料,当然这样的小示例也有很多,这里只是发表一些自己的想法。

下面是本次示例所使用的HTML页面:

View Code
 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
 2 "http://www.w3.org/TR/html4/strict.dtd">
 3 
 4 <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
 5     <head>
 6         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 7         <title>JQueryProject1</title>
 8         <meta name="author" content="Frank_Ren" />
 9         <link type="text/css" rel="stylesheet" href="css/myCSS.css" />
10         <script type="text/javascript" src="js/jquery-1.8.1.min.js"></script>
11         <script type="text/javascript" src="js/myJSFile.js"></script>
12         <!-- Date: 2012-09-17 -->
13     </head>
14     <body>
15         <div id="contenTab">
16             <ul>
17                 <li class="showTab"><a href="/">标签1</a></li>
18                 <li><a href="/">标签2</a></li>
19                 <li><a href="/">标签3</a></li>
20             </ul>
21             <div id="content">
22                 <div class="showContent">这是内容1</div>
23                 <div>这是内容2</div>
24                 <div>这是内容3</div>
25             </div>
26         </div>
27     </body>
28 </html>

现在的页面还看不出有有标签的效果,所以为了使页面上出现标签效果,给一面添加一个CSS文件:

View Code
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代码:

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

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

转载于:https://www.cnblogs.com/maybe0218/archive/2012/09/18/2690195.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值