基于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 this关键字的问题
Jan 09 Javascript
在html页面上拖放移动标签
Jan 08 Javascript
D3.js 从P元素的创建开始(显示可加载数据)
Oct 30 Javascript
基于jquery实现select选择框内容左右移动添加删除代码分享
Aug 25 Javascript
jQuery simplePage+AJAX plus分页插件用法实例
Feb 17 Javascript
利用iscroll4实现轮播图效果实例代码
Jan 11 Javascript
bootstrap模态框远程示例代码分享
May 22 Javascript
详解Angular5路由传值方式及其相关问题
Apr 28 Javascript
微信小程序下拉刷新PullDownRefresh的使用方法
Nov 29 Javascript
详解vue-cli中使用rem,vue自适应
May 06 Javascript
vue+element实现表格新增、编辑、删除功能
May 28 Javascript
vue实现公告栏文字上下滚动效果的示例代码
Jun 16 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绘制圆形的方法
2015/01/24 PHP
PHP实现的迷你漂流瓶
2015/07/29 PHP
删除PHP数组中的重复元素的实现代码
2017/04/10 PHP
PDO::prepare讲解
2019/01/29 PHP
JS获取IUSR_机器名和IWAM_机器名帐号的密码
2006/12/06 Javascript
Javascript基础 函数“重载” 详细介绍
2013/10/25 Javascript
JQuery+EasyUI轻松实现步骤条效果
2016/02/22 Javascript
JS实现将Asp.Net的DateTime Json类型转换为标准时间的方法
2016/08/02 Javascript
js实现PC端和移动端刮卡效果
2020/03/27 Javascript
js控制按钮,防止频繁点击响应的实例
2017/02/15 Javascript
Javascript实现倒计时时差效果
2017/05/18 Javascript
使用jQuery实现购物车结算功能
2017/08/15 jQuery
在vue-cli中组件通信的方法
2017/12/16 Javascript
vue单个组件实现无限层级多选菜单功能
2018/04/10 Javascript
详解node.js的http模块实例演示
2018/07/12 Javascript
layer弹出的iframe层在执行完毕后关闭当前弹出层的方法
2018/08/17 Javascript
vue+elementUI实现表格关键字筛选高亮
2020/10/26 Javascript
深度了解vue.js中hooks的相关知识
2019/06/14 Javascript
Vue 2.0 中依赖注入 provide/inject组合实战
2019/06/20 Javascript
Node.js API详解之 V8模块用法实例分析
2020/06/05 Javascript
vue实现折线图 可按时间查询
2020/08/21 Javascript
详解 javascript对象创建模式
2020/10/30 Javascript
利用Python绘制MySQL数据图实现数据可视化
2015/03/30 Python
python实现名片管理系统
2018/11/29 Python
PIL对上传到Django的图片进行处理并保存的实例
2019/08/07 Python
详解一种用django_cache实现分布式锁的方式
2019/09/01 Python
使用keras实现densenet和Xception的模型融合
2020/05/23 Python
pygame用blit()实现动画效果的示例代码
2020/05/28 Python
Python用Jira库来操作Jira
2020/12/28 Python
英语硕士生求职简历的自我评价
2013/10/15 职场文书
英语文学专业学生的自我评价
2013/10/31 职场文书
思想作风整顿个人剖析材料
2014/10/06 职场文书
数学教师个人总结
2015/02/06 职场文书
导游词之南京中山陵
2019/11/27 职场文书
解析MySQL binlog
2021/06/11 MySQL
python tqdm用法及实例详解
2021/06/16 Python