基于jQuery的可用于选项卡及幻灯的切换插件


Posted in Javascript onMarch 28, 2011

思路就不说了,记得以前写过一个自动切换的幻灯插件:,思路有部分是类似的。当然,本文中插件源码中也有注释~ 插件核心代码:点此查看演示

$.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'); 
}

打包下载地址
Javascript 相关文章推荐
js电信网通双线自动选择技巧
Nov 18 Javascript
jquery右下角弹出提示框示例代码
Oct 08 Javascript
jquery实现图片按比例缩放示例
Jul 01 Javascript
window.location.href的用法(动态输出跳转)
Aug 09 Javascript
setTimeout()递归调用不加引号出错的解决方法
Sep 05 Javascript
深入学习Bootstrap表单
Dec 13 Javascript
AngularJs实现聊天列表实时刷新功能
Jun 15 Javascript
Vue+SpringBoot开发V部落博客管理平台
Dec 27 Javascript
layer插件select选中默认值的方法
Aug 14 Javascript
elementUI 设置input的只读或禁用的方法
Oct 30 Javascript
基于JS判断对象是否是数组
Jan 10 Javascript
如何在微信小程序中使用骨架屏的步骤
Jun 12 Javascript
jQuery autocomplate 自扩展插件、自动完成示例代码
Mar 28 #Javascript
JQuery自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
Mar 28 #Javascript
基于jquery的获取浏览器窗口大小的代码
Mar 28 #Javascript
Firefox中autocomplete="off" 设置不起作用Bug的解决方法
Mar 25 #Javascript
写了10年的Javascript也未必全了解的连续赋值运算
Mar 25 #Javascript
js 实现图片预加载(js操作 Image对象属性complete ,事件onload 异步加载图片)
Mar 25 #Javascript
基于jquery的3d效果实现代码
Mar 23 #Javascript
You might like
smarty模板引擎使用内建函数foreach循环取出所有数组值的方法
2015/01/22 PHP
php获取YouTube视频信息的方法
2015/02/11 PHP
javascript中直接引用Microsoft的COM生成Word
2014/01/20 Javascript
JQuery实现Ajax加载图片的方法
2015/12/24 Javascript
javascript基本语法
2016/05/31 Javascript
BootStrap 超链接变按钮的实现方法
2016/09/25 Javascript
jquery移除了live()、die(),新版事件绑定on()、off()的方法
2016/10/26 Javascript
Ionic2开发环境搭建教程
2020/08/20 Javascript
angularjs实现猜数字大小功能
2020/05/20 Javascript
为什么我们要做三份 Webpack 配置文件
2017/09/18 Javascript
vue组件之间通信实例总结(点赞功能)
2018/12/05 Javascript
javascript实现fetch请求返回的统一拦截
2019/12/22 Javascript
JS严格模式原理与用法实例分析
2020/04/27 Javascript
[43:51]2014 DOTA2国际邀请赛中国区预选赛 Dream Times VS TongFu
2014/05/22 DOTA
[29:23]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场1
2014/05/23 DOTA
Python编程中的反模式实例分析
2014/12/08 Python
python文件读写操作与linux shell变量命令交互执行的方法
2015/01/14 Python
Python命令行参数解析模块optparse使用实例
2015/04/13 Python
利用Python中的mock库对Python代码进行模拟测试
2015/04/16 Python
详解Python中的日志模块logging
2015/06/19 Python
python实现文本文件合并
2015/12/29 Python
Python闭包思想与用法浅析
2018/12/27 Python
对python中Librosa的mfcc步骤详解
2019/01/09 Python
python的json中方法及jsonpath模块用法分析
2019/12/06 Python
django API 中接口的互相调用实例
2020/04/01 Python
python软件都是免费的吗
2020/06/18 Python
Python3爬虫中Ajax的用法
2020/07/10 Python
澳大利亚家具和家居用品在线商店:Interiors Online
2018/03/05 全球购物
丝绸和人造花卉、植物和树木:Nearly Natural
2018/11/28 全球购物
儿科护理实习自我鉴定
2013/09/19 职场文书
写给女生的道歉信
2014/01/08 职场文书
村捐赠仪式答谢词
2014/01/21 职场文书
司仪主持词两篇
2014/03/22 职场文书
参赛口号
2014/06/16 职场文书
2015秋季小学开学寄语
2015/05/27 职场文书
母亲节主题班会
2015/08/14 职场文书