基于jQuery的可用于选项卡及幻灯的切换插件

 更新时间:2011年03月28日 19:54:51   作者:  
最近公司项目页面中用到选项卡与幻灯比较多,特地写了个集选项卡、幻灯片与播放控制于一体的插件,同页面可多次使用。
思路就不说了,记得以前写过一个自动切换的幻灯插件:,思路有部分是类似的。当然,本文中插件源码中也有注释~ 插件核心代码:点此查看演示
复制代码 代码如下:

$.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');
}

打包下载地址

相关文章

  • 用jquery获取select标签中选中的option值及文本的示例

    用jquery获取select标签中选中的option值及文本的示例

    下面小编就为大家分享一篇用jquery获取select标签中选中的option值及文本的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • 使用jQuery实现更改默认alert框体

    使用jQuery实现更改默认alert框体

    本文给大家介绍的是如何使用jquery 改写Alert弹出框样式,十分的实用,这里推荐给大家,有需要的小伙伴可以参考下。
    2015-04-04
  • JQuery 获取多个select标签option的text内容(实例)

    JQuery 获取多个select标签option的text内容(实例)

    下面小编就为大家带来一篇JQuery 获取多个select标签option的text内容(实例)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • JQuery ztree 异步加载实例讲解

    JQuery ztree 异步加载实例讲解

    这篇文章主要为大家详细介绍了JQuery ztree异步加载实例,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • JQuery Ajax 跨域访问的解决方案

    JQuery Ajax 跨域访问的解决方案

    我们知道ajax本身实际上是通过XMLHttpRequest对象来异步进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域操作,所以js跨域操作会被拒绝。
    2010-03-03
  • 基于jquery实现无限级树形菜单

    基于jquery实现无限级树形菜单

    这篇文章主要为大家详细介绍了基于jquery实现无限级树形菜单的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • jquery自适应布局的简单实例

    jquery自适应布局的简单实例

    下面小编就为大家带来一篇jquery自适应布局的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • 简述Jquery与DOM对象

    简述Jquery与DOM对象

    这篇文章主要介绍了简述Jquery与DOM对象的相关资料,十分的简单实用,需要的朋友可以参考下
    2015-07-07
  • jQuery+ajax实现用户登录验证

    jQuery+ajax实现用户登录验证

    这篇文章主要为大家详细介绍了jQuery+ajax实现用户登录验证,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • jquery常用操作小结

    jquery常用操作小结

    这篇文章主要介绍了jquery常用操作小结,需要的朋友可以参考下
    2014-07-07

最新评论