如何在jquery中重启setInterval,以便当用户点击计数器重启?
所以我创建了一个标签部分,以便在12秒后循环到下一个标签。但是,如果用户点击所需的标签,我想重新启动时间,以便用户获得12秒的新设置。
我是jquery的新手所以请详细解释。非常感谢。
$("li.tab").click(function () {
$("li.tab").removeClass("select");
$(".featured_content").hide(); //Hide all tab content
var activeTab = $(this).find("a").attr("href"); //Find the href attribute value to identify the active tab + content
$(activeTab).fadeIn(1600); //Fade in the active ID content
$(this).addClass("select");
});
var refreshIntervalId = setInterval(function () {
var lastChild = $('li.select').is(':last-child');
if (lastChild) {
$('li.tab').removeClass('select ')
$("li.tab:first").addClass('select ');
return false;
} else {
$("li.select").removeClass('select').next().addClass('select');
return false;
}
}, 12000);
答案 0 :(得分:2)
$("li.tab").click(function () {
// ...
refreshIntervalId = clearInterval(refreshIntervalId);
// setInterval again to re-start the 'timer'
// ...
});
答案 1 :(得分:2)
//Stop
clearInterval(refreshIntervalId);
//Start again
setInterval(function () {
...
}, 12000)