基于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 相关文章推荐
使用EXT实现无刷新动态调用股票信息
Nov 01 Javascript
javascript 打印页面代码
Mar 24 Javascript
javascript 一段左右两边随屏滚动的代码
Jun 18 Javascript
JavaScript CSS修改学习第一章 查找位置
Feb 19 Javascript
javascript getElementsByClassName实现代码
Oct 11 Javascript
深入理解JavaScript内置函数
Jun 03 Javascript
AngularJS中比较两个数组是否相同
Aug 24 Javascript
JavaScript实现自动切换图片代码
Oct 11 Javascript
JS批量替换内容中关键词为超链接
Feb 20 Javascript
vue监听input标签的value值方法
Aug 27 Javascript
轻松学习JavaScript函数中的 Rest 参数
May 30 Javascript
vue实现移动端项目多行文本溢出省略
Jul 29 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
用cookies来跟踪识别用户
2006/10/09 PHP
laravel学习教程之关联模型
2016/07/30 PHP
JavaScript 组件之旅(四):测试 JavaScript 组件
2009/10/28 Javascript
js 异步处理进度条
2010/04/01 Javascript
JavaScript限定复选框的选择个数示例代码
2013/08/25 Javascript
浅谈Unicode与JavaScript的发展史
2015/01/19 Javascript
jQuery选择器源码解读(三):tokenize方法
2015/03/31 Javascript
jQuery实现侧浮窗与中浮窗切换效果的方法
2016/09/05 Javascript
vue.js template模板的使用(仿饿了么布局)
2018/08/13 Javascript
sortable+element 实现表格行拖拽的方法示例
2019/06/07 Javascript
Vue监听页面刷新和关闭功能
2019/06/20 Javascript
Vue中的transition封装组件的实现方法
2019/08/13 Javascript
vuex存储复杂参数(如对象数组等)刷新数据丢失的解决方法
2019/11/05 Javascript
JS数组的常用10种方法详解
2020/05/08 Javascript
[05:13]2018DOTA2亚洲邀请赛主赛事第二日战况回顾 LGD、VG双雄携手晋级
2018/04/05 DOTA
跟老齐学Python之从if开始语句的征程
2014/09/14 Python
python基于xml parse实现解析cdatasection数据
2014/09/30 Python
使用Python的Zato发送AMQP消息的教程
2015/04/16 Python
详解Python函数作用域的LEGB顺序
2016/05/14 Python
Python 3中的yield from语法详解
2017/01/18 Python
Python使用filetype精确判断文件类型
2017/07/02 Python
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
python 实现将字典dict、列表list中的中文正常显示方法
2018/07/06 Python
python 随机森林算法及其优化详解
2019/07/11 Python
Python递归函数 二分查找算法实现解析
2019/08/12 Python
python爬虫 爬取超清壁纸代码实例
2019/08/16 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
2019/12/30 Python
使用 Python 遍历目录树的方法
2020/02/29 Python
python神经网络编程实现手写数字识别
2020/05/27 Python
土木工程毕业生自荐信
2013/11/12 职场文书
家居饰品店创业计划书
2014/01/31 职场文书
幼儿园教师节活动方案
2014/02/02 职场文书
领导干部“四风”问题批评与自我批评材料
2014/09/24 职场文书
先进个人总结范文
2015/02/15 职场文书
门卫管理制度范本
2015/08/05 职场文书
德生BCL3000抢先使用感受和评价
2022/04/07 无线电