我有此代码用于在选项卡之间自动切换:
// starting index
var currTab = 0;
// count of all tabs
var totalTabs = jQuery(".shapedo-tabs > .single-tab").length;
// function to pass to setInterval
function cycle() {
// simulate click on current tab
jQuery(".shapedo-tabs > .single-tab").eq(currTab).click();
// increment counter
currTab++;
// reset if we're at the last one
if (currTab == totalTabs) {
currTab = 0;
}
}
jQuery(".single-tab").click(function() {
var forTab = jQuery(this).attr("for");
jQuery(this).addClass("activetab");
jQuery(".single-tab").not(this).removeClass("activetab");
jQuery(".stab-content#" + forTab).addClass("activecontent");
jQuery(".stab-content").not("#" + forTab).removeClass("activecontent");
});
jQuery(".page-template").each(function() {
jQuery('.start-tabs').isInViewport(function(status) {
if (status === 'entered') {
jQuery(".single-tab").eq(0).trigger("click");
jQuery(".shapedo-tabs").each(function() {
var i = setInterval(cycle, 5000);
});
}
})
});
触发器区域的 HTML 类似于:
<div class="shapedo-tabs product-tabs">
<div class="single-tab" for="track-design-changes">
<h3 class="stab-title">Track Design Changes</h3>
<span class="stab-number">1.</span>
</div>
<div class="single-tab" for="create-aneffecient-process">
<h3 class="stab-title">Create an<br>Effecient Process</h3>
<span class="stab-number">2.</span>
</div>
<div class="single-tab" for="control-issues">
<h3 class="stab-title">Control Issues</h3>
<span class="stab-number">3.</span>
</div>
<div class="single-tab" for="be-preparedfor-disputes">
<h3 class="stab-title">Be Prepared<br>for Disputes</h3>
<span class="stab-number">4.</span>
</div>
<div class="single-tab activetab" for="constantly-improve">
<h3 class="stab-title">Constantly Improve</h3>
<span class="stab-number">5.</span>
</div>
</div>
无需单击任何选项卡即可很好地工作。但是当我点击一个标签时,计数会继续,而我希望它从我刚刚点击的当前标签重新开始。
我将如何重置计数并从当前单击的选项卡重新启动它?