基于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 相关文章推荐
jquery封装的对话框简单实现
Jul 21 Javascript
javascript模块化是什么及其优缺点介绍
Sep 02 Javascript
Knockoutjs 学习系列(二)花式捆绑
Jun 07 Javascript
Bootstrap 实现查询的完美方法
Oct 26 Javascript
vue.js中Vue-router 2.0基础实践教程
May 08 Javascript
jquery版轮播图效果和extend扩展
Jul 18 jQuery
微信小程序左右滑动的实现代码
Dec 15 Javascript
vue.js获得当前元素的文字信息方法
Mar 09 Javascript
vue router+vuex实现首页登录验证判断逻辑
May 17 Javascript
jQuery/JS监听input输入框值变化实例
Oct 17 jQuery
JavaScript canvas绘制渐变颜色的矩形
Feb 18 Javascript
vue 动态组件用法示例小结
Mar 06 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
PHP中array_slice函数用法实例详解
2014/11/25 PHP
php指定长度分割字符串str_split函数用法示例
2017/01/30 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
JQuery 学习笔记 选择器之三
2009/07/23 Javascript
jquery实现图片渐变切换兼容ie6/Chrome/Firefox
2013/08/02 Javascript
JS页面延迟执行一些方法(整理)
2013/11/11 Javascript
javascript模拟订火车票和退票示例
2014/04/24 Javascript
js实现从中间开始往上下展开网页窗口的方法
2015/03/02 Javascript
AngularJS中的Promise详细介绍及实例代码
2016/12/13 Javascript
canvas实现图像布局填充功能
2017/02/06 Javascript
js实现常见的工具条效果
2017/03/02 Javascript
jQuery插件FusionCharts绘制的3D饼状图效果实例【附demo源码下载】
2017/03/03 Javascript
vue+ElementUI实现订单页动态添加产品数据效果实例代码
2017/07/13 Javascript
Vue filter介绍及详细使用
2018/04/04 Javascript
Angularjs中date过滤器失效的问题及解决方法
2018/07/06 Javascript
关于vue v-for循环解决img标签的src动态绑定问题
2018/09/18 Javascript
小程序实现多列选择器
2019/02/15 Javascript
package.json配置文件构成详解
2019/08/27 Javascript
微信内置开发 iOS修改键盘换行为搜索的解决方案
2019/11/06 Javascript
python pickle 和 shelve模块的用法
2013/09/16 Python
Python 正则表达式(转义问题)
2014/12/15 Python
浅谈Python_Openpyxl使用(最全总结)
2019/09/05 Python
Django学习之文件上传与下载
2019/10/06 Python
python 实现多维数组转向量
2019/11/30 Python
Pytorch模型转onnx模型实例
2020/01/15 Python
贝斯特韦斯特酒店集团官网:Best Western
2019/01/03 全球购物
在线课程:Skillshare
2019/04/02 全球购物
node中使用shell脚本的方法步骤
2021/03/23 Javascript
工商管理实习生自我鉴定范文
2013/12/18 职场文书
优秀部门获奖感言
2014/02/14 职场文书
设备动力科岗位职责范本
2014/02/23 职场文书
通知函的格式
2015/04/27 职场文书
小学生读书笔记
2015/07/01 职场文书
Windows安装Anaconda3的方法及使用过程详解
2021/06/11 Python
MySQL 十大常用字符串函数详解
2021/06/30 MySQL
Nginx的基本概念和原理
2022/03/21 Servers