基于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 toggle后元素隐藏的解决方法
Mar 27 Javascript
jquery图片切换插件
Mar 16 Javascript
浅谈DOCTYPE对$(window).height()取值的影响
Jul 21 Javascript
浅谈js数组和splice的用法
Dec 04 Javascript
js将字符串中的每一个单词的首字母变为大写其余均为小写
Jan 05 Javascript
Vue服务端渲染和Vue浏览器端渲染的性能对比(实例PK )
Mar 31 Javascript
Nuxt.js实战详解
Jan 18 Javascript
Vue的路由动态重定向和导航守卫实例
Mar 17 Javascript
微信小程序实现全局搜索代码高亮的示例
Mar 30 Javascript
对vuejs的v-for遍历、v-bind动态改变值、v-if进行判断的实例讲解
Aug 27 Javascript
js图数据结构处理 迪杰斯特拉算法代码实例
Sep 11 Javascript
Vue搭建后台系统需要注意的问题
Nov 08 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中对数据库操作的封装
2006/10/09 PHP
php 面向对象的一个例子
2011/04/12 PHP
深入解析php之apc
2013/05/15 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
2014/02/18 PHP
JavaScript 异步调用框架 (Part 4 - 链式调用)
2009/08/04 Javascript
JQuery 绑定事件时传递参数的实现方法
2009/10/13 Javascript
不同浏览器对回车提交表单的处理办法
2010/02/13 Javascript
jquery表单验证使用插件formValidator
2012/11/10 Javascript
javascript当中的代码嗅探扩展原生对象和原型(prototype)
2013/01/11 Javascript
浅析jQuery对select操作小结(遍历option,操作option)
2013/07/04 Javascript
nodeType属性返回被选节点的节点类型介绍
2013/11/22 Javascript
JavaScript html5 canvas画布中删除一个块区域的方法
2016/01/26 Javascript
javascript实现数组去重的多种方法
2016/03/14 Javascript
jQuery  ready方法实现原理详解
2016/10/19 Javascript
jQuery插件jqGrid动态获取列和列字段的方法
2017/03/03 Javascript
js中字符型和数值型数字的互相转化方法(必看)
2017/04/25 Javascript
webpack打包js的方法
2018/03/12 Javascript
nodejs实现一个word文档解析器思路详解
2018/08/14 NodeJs
vue-自定义组件传值的实例讲解
2018/09/18 Javascript
swiper.js插件实现pc端文本上下滑动功能示例
2018/12/03 Javascript
判断“命令按钮”是否被鼠标单击详解
2019/07/31 Javascript
vue 集成jTopo 处理方法
2019/08/07 Javascript
python实现360皮肤按钮控件示例
2014/02/21 Python
浅谈Scrapy网络爬虫框架的工作原理和数据采集
2019/02/07 Python
了解不常见但是实用的Python技巧
2019/05/23 Python
Python基于WordCloud制作词云图
2019/11/29 Python
Python代码块及缓存机制原理详解
2019/12/13 Python
TensorFlow dataset.shuffle、batch、repeat的使用详解
2020/01/21 Python
TensorFlow实现checkpoint文件转换为pb文件
2020/02/10 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
2021/02/24 Python
Linux Interview Questions For software testers
2013/05/17 面试题
铲车司机岗位职责
2014/03/15 职场文书
批评与自我批评总结
2014/10/17 职场文书
致运动员加油稿
2015/07/21 职场文书
初中班主任心得体会
2016/01/07 职场文书
各种货币符号快捷输入
2022/02/17 杂记