2
在清除嵌套在另一個setInterval中的setInterval時遇到一些問題。清除嵌套的setInterval?
polling
被清除得很好,但是marque
(全局設置)會持續點亮,即使清除會在控制檯中多次吐出。
listener: function() {
var polling;
journalScroll.on('scrollEnd', function() {
clearInterval(polling);
Roots.common.journal.scroll.status();
console.log('scrollend');
});
journalScroll.on('scrollStart', function() {
polling = setInterval(Roots.common.journal.scroll.status, 1250); // Time in milliseconds
console.log('scrollstart');
});
},
status: function() {
console.log('scroll status');
if((journalScroll.y*-1) < $(window).height() * 3) {
console.log('setinterval');
marque = setInterval(function() {
Roots.common.journal.scroll.marque();
}, 50);
} else {
clearInterval(marque);
console.log('cleared');
}
},
marque: function() {
console.log('polling marque');
},
您可以插入一個檢查來查看是否已將間隔分配給marque,如果是,請在添加新的間隔之前將其清除。 – Nit
我剛剛在setInterval之前與清除。不是最乾淨的方式,但做到了。謝謝。 (@使者,也許增加它作爲答案,所以我可以接受它?) – INT