Ошибка при использовании clearInterval()
Я использую следующий код, чтобы скрыть и показать div каждые 1 сек.
$(document).ready(function(e) {
var acc = setInterval(function(){
$("#element").fadeOut(function(){
setTimeout(function(){
$("#element").fadeIn()
}, 1000)
})
}, 200)
})
$(window).load(function(){
setTimeout(function(){
clearInterval(acc);
}, 10000)
})
clearInterval()
не работает должным образом, и я получаю следующую ошибку в Google Chrome:
Uncaught ReferenceError: acc не определен
2 ответа
Решение
В вашем коде есть проблема с областью действия, вы определили acc
переменная локально в контексте обработчика готового документа, и она не определена в контексте load
обработчик.
Попробуйте переопределить ваш acc
переменная вне .ready
Перезвоните.
var _acc = function(callback) {
return setInterval(callback, 1000);
};
var acc = null;
$(document).ready(function() {
acc = _acc(function() {
$("#element").fadeOut(function(){
setTimeout(function(){
$("#element").fadeIn()
}, 1000)
})
});
});
...