在直接代码中有注释。
复制代码代码如下所示:
*简单的标签切换
*
支持下列
参数的可
配置项
* /
函数Tab(){
this.config = { {
类型:'mouseover ' / /
默认悬停式
自动播放:真正的 / /默认为自动播放
TriggerCls:'清单' / /菜单项
panelcls:'。tabcontent ' / /内容项目
索引:0 0,当前索引
0、切换到: / /切换到哪一个
3000,间隔:自动播放时间间隔默认为s单位为3。
PauseOnHover:真 / /
鼠标放上去暂停默认的真实
当前:当前 / /当前项添加到类的名称
隐藏:隐藏的 / /类隐藏名称默认
回调函数:null回调函数
};
this.cache = { {
计时器:未定义,
国旗:真
};
}
tab.prototype = { {
函数(
选项){
this.config =美元。延长(this.config,选项| | { });
var =,
_config = self.config;
自_handler();
},
_handler:函数(){
var =,
_config = self.config,
_cache = self.cache,
len = $(_config。triggercls长度);
(_config美元。triggercls)。Unbind(_config。型);
(_config美元。triggercls)。Bind(_config.type,函数()){
_cache.timer clearInterval(_cache。定时器);
VaR指标= $(_config。triggercls)指数(本);
!$(这)。HasClass(_config。电流)
$(这)。AddClass(_config。电流),兄弟姐妹()。RemoveClass(_config。电流);
(_config美元。panelcls)。情商(指数),RemoveClass(_config。隐藏),兄弟姐妹()。AddClass(_config。隐藏);
添加回调函数之后
_config.callback美元。
功能(_config。回调)_config.callback(指数);
});
切换到默认的/多个
如果(_config。切换到){
(_config美元。triggercls)。Eq(_config。切换到)。AddClass(_config。电流),兄弟姐妹()。RemoveClass(_config。电流);
(_config美元。panelcls)。Eq(_config。切换到)。RemoveClass(_config。隐藏),兄弟姐妹()。AddClass(_config。隐藏);
}
自动播放
如果(_config。自动播放){
开始();
(_config美元。triggercls)。Hover(function(){)
如果(_config。pauseonhover){
_cache.timer clearInterval(_cache。定时器);
_cache.timer =定义;
{ }人
返回;
}
}函数(){()
开始();
});
}
函数start(){
_cache.timer = setInterval(自动
运行,_config。间隔);
}
功能自动运行(){
如果(_config.switchto(_config.switchto = = len-1){)
如果(_cache。旗){
_config.index = _config.switchto;
_cache.flag = false;
}
}
_config指数+ +;
如果(_config.index = = Len){
_config.index = 0;
}
(_config美元。triggercls)。Eq(_config。指数)。AddClass(_config。电流),兄弟姐妹()。RemoveClass(_config。电流);
(_config美元。panelcls)。Eq(_config。指数)。RemoveClass(_config。隐藏),兄弟姐妹()。AddClass(_config。隐藏);
}
}
};
调用页面的方式如下:
复制代码代码如下所示:
$(函数(){())
新建
选项卡()Init({
开关:1,
回调函数(索引){
console.log(指数);
}
});
});