1
我创建了一个simple plugin tabs plugin for jQuery that can optionally cycle through the various content panes。jQuery循环标签:更好的循环方式?
我觉得我骑自行车的方式非常好(有一点开销),并且正在寻找一些替代方案来完成它。
少数人的事情,我不等等是:
- 我必须存储每个选项卡(记忆?)数组
- 我保持一个迭代器和计数,并执行数学以确定下一个周期
该插件这样初始化的数组索引:$(selector).jqtabs()
或$(selector).jqtabs(4000)
(4000 =毫秒周期时间)。
任何更好的想法?
(function ($) {
$.fn.jqtabs = function (cycleSpeed) {
return this.each(function() {
var all = this;
var cycleIterator = 1;
var numberOfTabs = 0;
var allTabs;
/* Tab Click
=====================*/
$(".navigation li", this).click(function() {
changeTo(this)
});
/* Initiate Cycle
=====================*/
if (cycleSpeed) {
//array of tabs
allTabs = $(".navigation li", all);
numberOfTabs = allTabs.length;
setInterval(function() {
var tabIndex = (cycleIterator % numberOfTabs);
var tabToCycle = allTabs[tabIndex];
changeTo(tabToCycle);
cycleIterator++;
}, cycleSpeed);
}
/* changeTo(tab) Function
=====================*/
var changeTo = function (tab) {
if (!$(tab).hasClass("active")) {
$(".panel", all).hide();
$("#" + $(tab).attr("title")).fadeIn('fast', function() {
$(".active", all).removeClass("active");
$(tab).addClass("active");
});
}
};
});
}
})(jQuery);
挖三元操作符..我经常忘记,JavaScript支持那些 –