基于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 相关文章推荐
javascript打开新窗口同时关闭旧窗口
Jan 16 Javascript
Prototype 学习 Prototype对象
Jul 12 Javascript
在jQuery中 常用的选择器介绍
Apr 16 Javascript
jQuery 复合选择器应用的几个例子
Sep 11 Javascript
简介AngularJS中$http服务的用法
Feb 06 Javascript
浅谈JavaScript前端开发的MVC结构与MVVM结构
Jun 03 Javascript
详解从Node.js的child_process模块来学习父子进程之间的通信
Mar 27 Javascript
angularjs $http实现form表单提交示例
Jun 09 Javascript
Vue 多层组件嵌套二种实现方式(测试实例)
Sep 08 Javascript
浅谈Vue的加载顺序探讨
Oct 25 Javascript
全面了解JavaScript的作用域链
Apr 03 Javascript
使用PDF.js渲染canvas实现预览pdf的效果示例
Apr 17 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
ThinkPHP调用百度翻译类实现在线翻译
2014/06/26 PHP
PHP实现CSV文件的导入和导出类
2015/03/24 PHP
PHP中$_SERVER使用说明
2015/07/05 PHP
PHP翻页跳转功能实现方法
2020/11/30 PHP
CodeIgniter配置之autoload.php自动加载用法分析
2016/01/20 PHP
PHP创建自己的Composer包方法
2018/04/09 PHP
如何在一个页面显示多个百度地图
2013/04/07 Javascript
原生javascript实现无间缝滚动示例
2014/01/28 Javascript
JS实现浏览器状态栏显示时间的方法
2015/10/27 Javascript
jQuery实现简洁的导航菜单效果
2015/11/23 Javascript
php基于redis处理session的方法
2016/03/14 Javascript
AngularJS Bootstrap详细介绍及实例代码
2016/07/28 Javascript
使用Angular.js开发的注意事项
2016/10/19 Javascript
JavaScript实现替换字符串中最后一个字符的方法
2017/03/07 Javascript
js实现音频控制进度条功能
2017/04/01 Javascript
微信小程序 数据遍历的实现
2017/04/05 Javascript
详解cordova打包成webapp的方法
2017/10/18 Javascript
对 Vue-Router 进行单元测试的方法
2018/11/05 Javascript
Python中的多行注释文档编写风格汇总
2016/06/16 Python
Python pandas常用函数详解
2018/02/07 Python
Python Selenium 之数据驱动测试的实现
2019/08/01 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
2019/08/20 Python
python3.7环境下安装Anaconda的教程图解
2019/09/10 Python
详解numpy矩阵的创建与数据类型
2019/10/18 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
2020/01/06 Python
生产副总岗位职责
2013/11/28 职场文书
《二泉映月》教学反思
2014/04/15 职场文书
2014党委书记四风问题对照检查材料思想汇报
2014/09/22 职场文书
企业法人授权委托书
2014/09/25 职场文书
2014年文艺部工作总结
2014/11/17 职场文书
2015年世界急救日宣传活动方案
2015/05/06 职场文书
返乡农民工证明
2015/06/24 职场文书
2016年国培心得体会及反思
2016/01/13 职场文书
2016党员干部政治学习心得体会
2016/01/23 职场文书
电脑关机速度很慢怎么办 提升电脑关机速度设置教程
2022/04/08 数码科技