我設置一個計時器,到使用jQuery的一個觀點:當用戶離開頁面時,是否可以停止jQuery超時功能?
var timer, myDiv = $('#mydiv');
$(document).on('mousemove', function(ev) {
var _self = $(ev.target);
clearTimeout(timer);
if (_self.attr('id') === 'mydiv' || _self.parents('#mydiv').length) {
return;
}
if(!myDiv.hasClass('show')) {
myDiv.fadeIn();
}
timer = setTimeout(function() {
myDiv.fadeOut(1000, function() {
myDiv.removeClass('show');
});
}, 1960);
});
我需要在一個只有一個頁面使用此計時器的所有時間,用戶仍然存在。
當用戶離開頁面並通過另一個視圖時,是否可以使用jQuery或JavaScript來停止計時器?
這裏DEMO
'myDiv.stop()'也許? – rev
@AcidShout感謝您的建議,但計時器應該在用戶仍在頁面內時始終啓用 – NineCattoRules
「setTimeout」和「clearTimeout」都不是jQuery的東西。他們是香草js的東西。 – Oriol