基于jQuery的可用于選項(xiàng)卡及幻燈的切換插件
更新時(shí)間:2011年03月28日 19:54:51 作者:
最近公司項(xiàng)目頁面中用到選項(xiàng)卡與幻燈比較多,特地寫了個(gè)集選項(xiàng)卡、幻燈片與播放控制于一體的插件,同頁面可多次使用。
思路就不說了,記得以前寫過一個(gè)自動切換的幻燈插件:,思路有部分是類似的。當(dāng)然,本文中插件源碼中也有注釋~ 插件核心代碼:點(diǎn)此查看演示
$.fn.WIT_SetTab=function(iSet){
/*
* @Mr.Think
* Nav: 導(dǎo)航鉤子;
* Field:切換區(qū)域
* K:初始化索引;
* CurCls:高亮樣式;
* Auto:是否自動切換;
* AutoTime:自動切換時(shí)間;
* OutTime:淡入時(shí)間;
* InTime:淡出時(shí)間;
* CrossTime:鼠標(biāo)無意識劃過時(shí)間
* Ajax:是否開啟ajax
* AjaxFun:開啟ajax后執(zhí)行的函數(shù)
*/
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;
//切換函數(shù)
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);
}
//初始高亮第一個(gè)
changeFun(iSet.K);
//鼠標(biāo)事件
iSet.Nav.hover(function(){
iSet.K=iSet.Nav.index(this);
if(iSet.Auto){
clearInterval(autoSlide);
}
hasCls = $(this).hasClass(iSet.CurCls);
//避免無意識劃過時(shí)觸發(fā)
acrossFun=setTimeout(function(){
//避免當(dāng)前高亮?xí)r劃入再次觸發(fā)
if(!hasCls){
changeFun(iSet.K);
}
},iSet.CrossTime);
},function(){
clearTimeout(acrossFun);
//ajax調(diào)用
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');
}
打包下載地址
復(fù)制代碼 代碼如下:
$.fn.WIT_SetTab=function(iSet){
/*
* @Mr.Think
* Nav: 導(dǎo)航鉤子;
* Field:切換區(qū)域
* K:初始化索引;
* CurCls:高亮樣式;
* Auto:是否自動切換;
* AutoTime:自動切換時(shí)間;
* OutTime:淡入時(shí)間;
* InTime:淡出時(shí)間;
* CrossTime:鼠標(biāo)無意識劃過時(shí)間
* Ajax:是否開啟ajax
* AjaxFun:開啟ajax后執(zhí)行的函數(shù)
*/
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;
//切換函數(shù)
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);
}
//初始高亮第一個(gè)
changeFun(iSet.K);
//鼠標(biāo)事件
iSet.Nav.hover(function(){
iSet.K=iSet.Nav.index(this);
if(iSet.Auto){
clearInterval(autoSlide);
}
hasCls = $(this).hasClass(iSet.CurCls);
//避免無意識劃過時(shí)觸發(fā)
acrossFun=setTimeout(function(){
//避免當(dāng)前高亮?xí)r劃入再次觸發(fā)
if(!hasCls){
changeFun(iSet.K);
}
},iSet.CrossTime);
},function(){
clearTimeout(acrossFun);
//ajax調(diào)用
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');
}
打包下載地址
相關(guān)文章
用jquery獲取select標(biāo)簽中選中的option值及文本的示例
下面小編就為大家分享一篇用jquery獲取select標(biāo)簽中選中的option值及文本的示例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01使用jQuery實(shí)現(xiàn)更改默認(rèn)alert框體
本文給大家介紹的是如何使用jquery 改寫Alert彈出框樣式,十分的實(shí)用,這里推薦給大家,有需要的小伙伴可以參考下。2015-04-04JQuery 獲取多個(gè)select標(biāo)簽option的text內(nèi)容(實(shí)例)
下面小編就為大家?guī)硪黄狫Query 獲取多個(gè)select標(biāo)簽option的text內(nèi)容(實(shí)例)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09jQuery+ajax實(shí)現(xiàn)用戶登錄驗(yàn)證
這篇文章主要為大家詳細(xì)介紹了jQuery+ajax實(shí)現(xiàn)用戶登錄驗(yàn)證,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09