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栏切换的更多相关文章
- jQuery蓝色修边tab标签切换
jQuery蓝色修边tab标签切换,jQuery,tab选项卡,标签切换,jQuery蓝色修边tab标签广告代码切换是一款非常简单实用tab选项卡切换效果,自己定义好相关的html标签即可,选项卡切换 ...
- tab栏切换
最简单的tab栏切换 html部分 <ul class="tab"> <li class="item">待支付(1)</li> ...
- tab栏切换制作
tab栏切换制作 先上图 要求1:默认状态,第一个选项卡被选中,展示第一个选项卡的内容 策略:第一个选项卡默认有被选中的样式,第一个选项卡对应的display: block,其他的dispaly设为n ...
- dataTable tab栏切换时错位解决办法
做后台管理类网站肯定要写列表,首选dataTable,功能强大 最近在做一个tab栏切换时发现了一个很诡异的事情:表头错位了! 主要时因为当table被隐藏后,table的header宽度会计算错乱, ...
- ES6面向对象实现tab栏切换效果
面向对象实现tab栏切换效果
- JS实现 Tab栏切换案例
要求:当鼠标点击上面相应的选项卡(tab),下面页面的内容也随之而改变. 结构分析: 全部的内容都放到一个大的盒子里面,盒子里面又可以分为上面和下面两个盒子. 上面的盒子放了 5个li,装着5个小的选 ...
- tab栏切换的特殊效果
在实际的开发过程中,我们可能会遇到这种需求,如下图 左边是三个tab栏,右边是显示内容的div,当鼠标滑到坐标的tab上时,给它一个高亮显示,让它对应的内容在右边的div中显示出来,当鼠标移出的时候把 ...
- tab栏切换,内容为不断实时刷新数据的vue实现方法
先说一下产品需求,就是有几个tab栏,每个tab栏对应的ajax请求不一样,内容区域一样,内容为实时刷新数据,每3s需要重新请求,返回的数据在内容区域展示,每点击一次tab栏需停止其他tab栏ajax ...
- JavaScript实现Tab栏切换
本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 京东网页上,可以看到下面这种tab栏的切换: 我们把模型抽象出来,实现一 ...
随机推荐
- [HDU 3336]Count the String[kmp][DP]
题意: 求一个字符串的所有前缀串的匹配次数之和. 思路: 首先仔细思考: 前缀串匹配. n个位置, 以每一个位置为结尾, 就可以得到对应的一个前缀串. 对于一个前缀串, 我们需要计算它的匹配次数. k ...
- BZOJ 1192 鬼谷子的钱袋 (二进制思想)
题解:鉴于二进制的思想来划分 #include <cstdio> int main(){ int n,d=0;scanf("%d",&n); while(1&l ...
- URAL 1303
题目大意:给出N个区间[Li,Ri](1<=i<=N),一个正整数M,求N个区间里,并区间包含[0,M]的区间的最小个数(无解时输出:No solution). KB 64bit ...
- POJ Secret Milking Machine 【网络流+二分】
题意:各一个地图,两点之间有若干条路,要在节点1和节点n之间行走t次(就是问1到n的路径数至少为t,每一条路径不能有重复),问所有路径里面最长的部分(这个题目特别强调,不是路径长度和,是路径中相邻两点 ...
- Ext JS学习第十五天 Ext基础之 Ext.DomQuery
此文同来记录学习笔记 •Ext.dom.Query 嗯,这个类一看就是到时做什么事儿的,不用我去过多的解释了.这个类一共提供了8个方法供开发人员去使用. •要说最常用的方法,无非就是Ext.query ...
- backbone HTTP方法中 options参数
wait: 可以指定是否等待服务端的返回结果再更新model.默认情况下不等待url: 可以覆盖掉backbone默认使用的url格式attrs: 可以指定保存到服务端的字段有哪些,配合options ...
- POJ 2250 Compromise(LCS)
POJ 2250 Compromise(LCS)解题报告 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=87125#proble ...
- Software Version --hdu1976
#include using namespace std; int main() { int T; cin>>T; int a1,b1,c1; int a2,b2,c2; while(T- ...
- BZOJ 4260: Codechef REBXOR( trie )
求出前缀和, 那么以第x个元素结尾的最大异或值是max(sumx^sump)(1≤p<x), 用trie加速. 后缀同理, 然后扫一遍就OK了.时间复杂度O(31N) ------------- ...
- ASP.NET MVC3 Razor视图引擎-基础语法
I:ASP.NET MVC3在Visual Studio 2010中的变化 在VS2010中新建一个MVC3项目可以看出与以往的MVC2发生了很明显的变化. 1.ASP.NET MVC3必要的运行环境 ...