基於jQuery的可用於選項卡及幻燈的切換外掛程式

來源:互聯網
上載者:User

思路就不說了,記得以前寫過一個自動切換的幻燈外掛程式:,思路有部分是類似的。當然,本文中外掛程式源碼中也有注釋~ 外掛程式核心代碼:點此查看示範
複製代碼 代碼如下:
$.fn.WIT_SetTab=function(iSet){
/*
* @Mr.Think
* Nav: 導航鉤子;
* Field:切換地區
* K:初始化索引;
* CurCls:高亮樣式;
* Auto:是否自動切換;
* AutoTime:自動切換時間;
* OutTime:淡入時間;
* InTime:淡出時間;
* CrossTime:滑鼠無意識划過時間
* Ajax:是否開啟ajax
* AjaxFun:開啟ajax後執行的函數
*/
iSet=$.extend({Nav:null,Field:null,K:0,CurCls:'cur',Auto:false,AutoTime:4000,OutTime:100,InTime:150,CrossTime:60},iSet||{});
var acrossFun=null,hasCls=false,autoSlide=null;
//切換函數
function changeFun(n){
iSet.Field.filter(':visible').fadeOut(iSet.OutTime, function(){
iSet.Field.eq(n).fadeIn(iSet.InTime).siblings().hide();
});
iSet.Nav.eq(n).addClass(iSet.CurCls).siblings().removeClass(iSet.CurCls);
}
//初始高亮第一個
changeFun(iSet.K);
//滑鼠事件
iSet.Nav.hover(function(){
iSet.K=iSet.Nav.index(this);
if(iSet.Auto){
clearInterval(autoSlide);
}
hasCls = $(this).hasClass(iSet.CurCls);
//避免無意識划過時觸發
acrossFun=setTimeout(function(){
//避免當前高亮時劃入再次觸發
if(!hasCls){
changeFun(iSet.K);
}
},iSet.CrossTime);
},function(){
clearTimeout(acrossFun);
//ajax調用
if(iSet.Ajax){
iSet.AjaxFun();
}
if(iSet.Auto){
//自動切換
autoSlide = setInterval(function(){
iSet.K++;
changeFun(iSet.K);
if (iSet.K == iSet.Field.size()) {
changeFun(0);
iSet.K=0;
}
}, iSet.AutoTime)
}
}).eq(0).trigger('mouseleave');
}

打包

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.