现在网上很多类似选项卡的切换,我们成为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栏切换的更多相关文章

  1. jQuery蓝色修边tab标签切换

    jQuery蓝色修边tab标签切换,jQuery,tab选项卡,标签切换,jQuery蓝色修边tab标签广告代码切换是一款非常简单实用tab选项卡切换效果,自己定义好相关的html标签即可,选项卡切换 ...

  2. tab栏切换

    最简单的tab栏切换 html部分 <ul class="tab"> <li class="item">待支付(1)</li> ...

  3. tab栏切换制作

    tab栏切换制作 先上图 要求1:默认状态,第一个选项卡被选中,展示第一个选项卡的内容 策略:第一个选项卡默认有被选中的样式,第一个选项卡对应的display: block,其他的dispaly设为n ...

  4. dataTable tab栏切换时错位解决办法

    做后台管理类网站肯定要写列表,首选dataTable,功能强大 最近在做一个tab栏切换时发现了一个很诡异的事情:表头错位了! 主要时因为当table被隐藏后,table的header宽度会计算错乱, ...

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

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

  6. JS实现 Tab栏切换案例

    要求:当鼠标点击上面相应的选项卡(tab),下面页面的内容也随之而改变. 结构分析: 全部的内容都放到一个大的盒子里面,盒子里面又可以分为上面和下面两个盒子. 上面的盒子放了 5个li,装着5个小的选 ...

  7. tab栏切换的特殊效果

    在实际的开发过程中,我们可能会遇到这种需求,如下图 左边是三个tab栏,右边是显示内容的div,当鼠标滑到坐标的tab上时,给它一个高亮显示,让它对应的内容在右边的div中显示出来,当鼠标移出的时候把 ...

  8. tab栏切换,内容为不断实时刷新数据的vue实现方法

    先说一下产品需求,就是有几个tab栏,每个tab栏对应的ajax请求不一样,内容区域一样,内容为实时刷新数据,每3s需要重新请求,返回的数据在内容区域展示,每点击一次tab栏需停止其他tab栏ajax ...

  9. JavaScript实现Tab栏切换

    本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 京东网页上,可以看到下面这种tab栏的切换: 我们把模型抽象出来,实现一 ...

随机推荐

  1. [转] iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用

    介绍: Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,以优化的应用程序支持多核心处理器和其他的对称多处理系统的系统.这建立在任务并行执行的线程池模式的基础上的.它首 ...

  2. System.Reflection.Emit学习

    C#反射发出System.Reflection.Emit学习 分享: 1 一.System.Reflection.Emit概述 Emit,可以称为发出或者产生.与Emit相关的类基本都存在于Syste ...

  3. html文件中文在浏览器中显示乱码问题解决

    利用浏览器打开html文件时,中文显示乱码,如下是原文件的内容 1 <html>   2         <head>   3             <title> ...

  4. C++访问权限的问题

    以前一直认为对于类中的private数据成员,只有调用该方法的对象才能更能访问自身的私有成员,其他的类在该成员函数(公共接口)中也无法调用自身的私有成员,今天看到<c++ prime plus& ...

  5. 【LeetCode】Path Sum 2 --java 二叉数 深度遍历,保存路径

    在Path SUm 1中(http://www.cnblogs.com/hitkb/p/4242822.html) 我们采用栈的形式保存路径,每当找到符合的叶子节点,就将栈内元素输出.注意存在多条路径 ...

  6. citrix协议ICA技术原理

    转载自: http://www.zrss.com.cn/article-110-1.html Citrix交付中心解决方式的核心是虚拟化技术,虚拟化计算的核心是ICA协议,ICA协议连接了执行在平台上 ...

  7. 使CSS3样式在IE里面有效果

    1. 下载ie-css3.htc文件 2. 当前元素一定要有定位属性,像是position:relative或是position:absolute属性. 3. z-index值一定要比周围元素的要高 ...

  8. SharePoint代码段设计

    参考文章: 1. SharePoint 2013设计管理器代码段 https://msdn.microsoft.com/zh-cn/library/jj822367 2. 如何在SharePoint中 ...

  9. Linq to sql介绍及增、删、改、查

    LinQ是指集成化查询语言,通过映射将数据库内的表名变为C#的类名,将列名作为属性名,将表的关系作为类的成员对象.O--M--R O-Object对象 R-Relation关系 M-Mapping映射 ...

  10. Oracle更改数据库文件大小、实时增加文件容量

    --查询数据库文件路径.表空间.大小等 select * from dba_data_files ; --EAST.DBF数据库文件自动扩展20M,可无限扩展 alter database dataf ...