基于jQuery的可用于选项卡及幻灯的切换插件
发布时间:2020-12-14 22:20:38 所属栏目:资源 来源:网络整理
导读:思路就不说了,记得以前写过一个自动切换的幻灯插件:,思路有部分是类似的。当然,本文中插件源码中也有注释~ 插件核心代码:点此查看演示 复制代码 代码如下: $.fn.WIT_SetTab=function(iSet){ /* * @Mr.Think * Nav: 导航钩子; * Field:切换区域 * K:初
思路就不说了,记得以前写过一个自动切换的幻灯插件:,思路有部分是类似的。当然,本文中插件源码中也有注释~ 插件核心代码:点此查看演示 复制代码 代码如下: $.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'); } 打包下载地址 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |