jQuery带有定时器的tab栏切换

现在网上很多类似选项卡的切换,我们成为tab栏切换,比如下图:

新浪的tab栏切换

淘宝的tab栏切换

其中,新浪的tab栏鼠标放上去,可以快速的来回切换,但是如果采取ajax异步传输,不停去加载服务器压力较大,而淘宝的是当鼠标放上去2秒左右,才切换,这样,防止不断的来回切换,这个效果我们需要带定时器来控制就好了。

小强老师今天就以淘宝的tab栏切换,利用jquery定时器来做这个效果。

首先先把html 结构书写如下:

<div class="r-hd">
                                     <div class="hd-tittle">        <--tab栏头部分-->
                                             <ul class="aa">
                                                     <li class="current"><a href="#">公告</a></li>
                                                     <li><a href="#">规则</a></li>
                                                     <li><a href="#">论坛</a></li>
                                                     <li><a href="#">安全</a></li>
                                                     <li><a href="#">公益</a></li>
                                             
                                             </ul>
                                     </div>
                                     <div class=‘cc‘>     <--下面切换内容-->
                                     <ul class="hd-main" style="display:block">
                                              <li><a href="#" class="hot">阿里全球招募梦想家1</a></li>
                                              <li><a href="#">阿里通信17万人疯抢</a></li>
                                              <li><a href="#">惊艳!新版魔盒初体验</a></li>
                                              <li><a href="#">阿里案例工场开放入驻</a></li>
                                     </ul>
                                     <ul class="hd-main">
                                              <li><a href="#" class="hot">阿里全球招募梦想家2</a></li>
                                              <li><a href="#">阿里通信17万人疯抢</a></li>
                                              <li><a href="#">惊艳!新版魔盒初体验</a></li>
                                              <li><a href="#">阿里案例工场开放入驻</a></li>
                                     </ul>
                                     <ul class="hd-main">
                                              <li><a href="#" class="hot">阿里全球招募梦想家3</a></li>
                                              <li><a href="#">阿里通信17万人疯抢</a></li>
                                              <li><a href="#">惊艳!新版魔盒初体验</a></li>
                                              <li><a href="#">阿里案例工场开放入驻</a></li>
                                     </ul>
                                     <ul class="hd-main">
                                              <li><a href="#" class="hot">阿里全球招募梦想家4</a></li>
                                              <li><a href="#">阿里通信17万人疯抢</a></li>
                                              <li><a href="#">惊艳!新版魔盒初体验</a></li>
                                              <li><a href="#">阿里案例工场开放入驻</a></li>
                                     </ul>
                                     </div>
                               </div>

接着书写css部分

.r-hd{ height:98px; border:1px solid #eee; width:298px;} /*头部的盒子*/
.hd-tittle{ height:27px; width:298px; position:relative;
overflow:hidden;}
/*ul的父盒子,宽度298px,相对定位可以占住上面的位子,不影响下面的盒子,同时可以用定位流切ul这个定位流*/
.hd-tittle ul{ width:301px; position:absolute; left:-1px;} /*ul的宽度比父盒子大,绝对定位,可以装下五个li,不会换行    向左移动一像素,第一个li的左边框就会压在大盒子上*/
.hd-tittle li{ float:left; width:58px; height:26px; border-bottom:1px
solid #eee; padding:0 1px; background-color:#f7f7f7; line-height:26px;
text-align:center;}
.hd-tittle li.current{ background-color:#fff; border-bottom-color:#fff;
border-right:1px solid #eee; border-left:1px solid #eee; padding:0;
color:#3c3c3c; font-weight:bold;}
/*li里面总宽60,当定义当前的时候没有左右内边距,换成了左右边框*/
.hd-main{ margin:15px;}
.hd-main li{ float:left; width:130px;height:25px; margin-left:2px; }

最后是jquery 特效部分

<script type="text/javascript" src="jquery-1.8.3.min.js"></script>   
<script type="text/javascript">
   $(document).ready(function() {
        $(".aa li").each(function(index, el) {              /*  遍历所有的tab栏目  */
          $(this).mouseover(function(event) {
            dangqian=$(this);                                      //  获取当前对象
            n=setTimeout(fun,500);                            //开启定时器
            function fun(){
               dangqian.addClass(‘current‘).siblings().removeClass(‘current‘);    // 给鼠标当前的tab栏添加css样式
                $(".cc ul").eq(index).show().siblings().hide();                               // 同时显示与 当前tab栏相应的 下部分内部部分
            }
          }).mouseout(function(event) {
           clearTimeout(n);                                  // 移除定时器
          });
          
        });
       });
</script>

小强零零壹   与大家一起分享

jQuery带有定时器的tab栏切换

时间: 2024-10-12 10:16:18

jQuery带有定时器的tab栏切换的相关文章

jQuery实现tab栏切换效果

jQuery实现tab栏切换效果: 用jQuery做tab的效果就是点击或者鼠标悬浮在tab上时显示对应的内容,并且tab栏也会发生相应的样式变化.jQuery我用的是jquery-1.11.1.js版本. 下面的代码是简单的实现: HTML代码 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="utf-8"> 5 <title>j

207 jQuery 样式操作:css (),addClass,removeClass,toggleClass,tab 栏切换案例

? jQuery中常用的样式操作有两种:css() 和 设置类样式方法 1.4.1 方法1: 操作 css 方法 ? jQuery 可以使用 css 方法来修改简单元素样式: 也可以操作类,修改多个样式. ? 常用以下三种形式 : // 1.参数只写属性名,则是返回属性值 var strColor = $(this).css('color'); // 2. 参数是属性名,属性值,逗号分隔,是设置一组样式,属性必须加引号,值如果是数字可以不用跟单位和引号 $(this).css(''color''

jQuery蓝色修边tab标签切换

jQuery蓝色修边tab标签切换,jQuery,tab选项卡,标签切换,jQuery蓝色修边tab标签广告代码切换是一款非常简单实用tab选项卡切换效果,自己定义好相关的html标签即可,选项卡切换流畅,切换过程带有渐变效果素材免费下载. http://www.huiyi8.com/sc/6954.html

tab栏切换2

采用jquery.js,通过添加类名和show().hide()方法实现tab栏切换: 简单案例如下: HTML部分 <style> li{list-style: none;} #wrap{width: 500px;height: 400px;border: 1px solid #000;} #resourcesTab li{width: 100px;height: 40px;line-height: 40px;font-size: 18px;font-weight: bold; cursor

原生JS实现 ‘Tab栏切换’,‘手风琴’,‘轮播图’效果

1.小天使跟随鼠标效果 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatib

tab栏切换原型封装------彭记(013)

tab栏切换原型封装 <body> <div class="wrapper" id="wrapper"> <ul class="tab" id="tab-menu"> <li class="tab-item active">文字1<span>◆</span></li> <li class="tab-item&

Android实现连续并排的若干个TextView单击改变背景颜色达到选项卡Tab栏切换效果

<Android实现连续并排的若干个TextView单击改变背景颜色达到选项卡Tab栏切换效果> 实现的组件交互目的很简单,就是要达到类似tab选项卡的导航栏一样,当用户点击了连续并排的若干个TextView其中之一时候,要产生一定的交互效果(背景颜色改变等).这种实现的方式有不少可选方案,现在通过背景的selector.xml实现. 效果如下: A.初始状态: B.当用户单击了TextView 2,但此时用户的手指一直在按下并未松开的状态,(注意交互设计效果!TextView 2的背景颜色变

ES6面向对象实现tab栏切换效果

面向对象实现tab栏切换效果 原文地址:https://www.cnblogs.com/malong1992/p/11517123.html

jquery实现简单的导航栏切换效果($(this).index)

一个简单的导航栏切换效果的制作,主要通过索引值和jquery的siblings()来实现 html代码: <div class="container"> <ul class="top-nav"> <li class="nav">html</li> <li class="nav">css</li> <li class="nav"&g