基于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 相关文章推荐
Query中click(),bind(),live(),delegate()的区别
Nov 19 Javascript
js获得页面的高度和宽度的方法
Feb 23 Javascript
JavaScript操作DOM元素的childNodes和children区别
Apr 01 Javascript
JavaScript代码判断点击第几个按钮
Dec 13 Javascript
简单介绍JavaScript数据类型之隐式类型转换
Dec 28 Javascript
jQuery绑定事件on()与弹窗的简要概述
Apr 27 Javascript
Vue+axios 实现http拦截及路由拦截实例
Apr 25 Javascript
详解jquery插件jquery.viewport.js学习使用方法
Sep 08 jQuery
基于node搭建服务器,写接口,调接口,跨域的实例
May 13 Javascript
浅谈vant组件Picker 选择器选单选问题
Nov 04 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
Feb 25 Javascript
详解JSON.parse和JSON.stringify用法
Feb 18 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
虫族 Zerg 魔法科技
2020/03/14 星际争霸
Zend Framework入门教程之Zend_Config组件用法详解
2016/12/09 PHP
PHP论坛实现积分系统的思路代码详解
2020/06/01 PHP
use jscript Create a SQL Server database
2007/06/16 Javascript
IE6下JS动态设置图片src地址问题
2010/01/08 Javascript
倒记时60刷新网页的js代码
2014/02/18 Javascript
javascript实现 百度翻译 可折叠的分享按钮列表
2015/03/12 Javascript
js右下角弹出提示框示例代码
2016/01/12 Javascript
jQuery插件扩展测试实例
2016/06/21 Javascript
ajax图片上传,图片异步上传,更新实例
2016/12/30 Javascript
JS传参及动态修改页面布局
2017/04/13 Javascript
javascript将json格式数组下载为excel表格的方法
2017/12/22 Javascript
Vue CLI3 如何支持less的方法示例
2018/08/29 Javascript
Javascript迭代、递推、穷举、递归常用算法实例讲解
2019/02/01 Javascript
微信小程序批量上传图片到七牛(推荐)
2019/12/19 Javascript
vue计算属性+vue中class与style绑定(推荐)
2020/03/30 Javascript
JavaScript indexOf()原理及使用方法详解
2020/07/09 Javascript
在vue中实现某一些路由页面隐藏导航栏的功能操作
2020/09/21 Javascript
[01:15]《辉夜杯》北京网鱼队巡礼
2015/10/26 DOTA
Python中字典的setdefault()方法教程
2017/02/07 Python
浅谈Python 的枚举 Enum
2017/06/12 Python
pytorch对可变长度序列的处理方法详解
2018/12/08 Python
python多线程扫描端口(线程池)
2019/09/04 Python
python生成13位或16位时间戳以及反向解析时间戳的实例
2020/03/03 Python
Python常用类型转换实现代码实例
2020/07/28 Python
python中PyQuery库用法分享
2021/01/15 Python
吃透移动端 Html5 响应式布局
2019/12/16 HTML / CSS
美国顶尖折扣时尚购物网:Bluefly
2016/08/28 全球购物
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
2016/01/06 面试题
环境科学专业个人求职信
2013/12/15 职场文书
公司离职证明标准格式
2014/11/18 职场文书
考试作弊检讨书
2015/01/27 职场文书
认真学习保证书
2015/02/26 职场文书
董事长年会致辞
2015/07/29 职场文书
七年级上册生物的课件
2019/08/07 职场文书
golang import自定义包方式
2021/04/29 Golang