您的位置:首页 > Web前端 > JQuery

jQuery中setInterval()方法控制自动切换选项卡成功

2018-01-09 12:44 591 查看
直接上代码:

这段是常用的选项卡函数代码

jQuery.jqtab = function(tabtit,tab_conbox,shijian) {
$(tab_conbox).find("li").hide();
$(tabtit).find("li:first").addClass("thistab").show();
$(tab_conbox).find("li:first").show();

$(tabtit).find("li").bind(shijian,function(){
clearInterval(time),function(){
autoPlay();
}
$(this).addClass("thistab").siblings("li").removeClass("thistab");
var activeindex = $(tabtit).find("li").index(this);
$(tab_conbox).children().eq(activeindex).show().siblings().hide();
return false;
});

};
/*调用方法如下:*/
$.jqtab("#tabs","#tab_conbox","click");

$.jqtab("#tabs2","#tab_conbox2","mouseenter");

HTML部分
<div id="tabbox2">
<ul class="tabs2" id="tabs2">
{$menu.all fid="11" name_len="36"}
<li><a href="($url /)"><em class="yuanjiao">($key /)</em><h3>($name /)</h3></a></li>
{/$}
</ul>
<ul class="tab_conbox" id="tab_conbox2">
{$menu.all fid="11" name_len="36" cat="1" cat_style="2"}
<li class="tab_con">
<dl class="index_cplist_03">
($cat /)
</dl>
</li>
{/$}
</ul>
</div>

//当#tabs2下的li加上thistab属性为激活
//当#tab_conbox2下的li加上tyle="display:list-item"时显示.否则隐藏

后来加的定时自动切换代码

因为一共就4个选项卡所以我手动写死了.

var num = 0;
var i = 0;
function change(){
$("#tabs2").find("li").eq(i).addClass("thistab").siblings("li").removeClass("thistab");
$("#tab_conbox2").find("li").eq(i).css("display","list-item").siblings("li").css("display","none");
i++;
if(i==4){
i=0;
}
}
function autoPlay(){
time = setInterval(function(){
num++;
if(num>=4){
num=0;
}
  change();
},5000);
}
autoPlay();
//自动切换end

注:在鼠标经过选项卡时就要停止自动切换功能.否则还会自动切换.这时候要在鼠标经过的事件里面加入:
clearInterval(time),function(){
autoPlay();
}其中time参数是由autoplay函数传过来的.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息