Я не очень много работал с функциями Javascript и пытаюсь получить функцию, чтобы зациклиться после короткой задержки. Я, кажется, какой-то код, используя SetTimeout(), но я не могу показаться, чтобы выяснить, как заставить его работать в моем случае, вот мой код:Looping Function (Javascript Callback Help)
var number = 8;
var iter = 1;
function slide_function(iter, amount, callback){
if(iter<amount){
console.log('test');
$('#tagline_slideshow span#' + iter).delay(delayTime).fadeOut(1600, function(){
$(this).next('span').fadeIn();
});
var iter = iter + 1;
}
else if(iter==amount){
console.log('test2');
var iter = 1;
$('#tagline_slideshow span#' + iter).delay(delayTime).fadeOut(1600, function(){
$(this).next('span').fadeIn();
});
var iter = iter + 1;
}
}
slide_function(iter, number, setTimeout(slide_function(iter, number),5000));
Я пытаюсь в основном создать небольшой слайд-шоу когда элементы исчезают и выходят до определенной точки, а затем начинаются снова. Он работает в первый раз через функцию, но затем не запускает ее снова. Я сделал некоторые ошибки, когда он вызвал бесконечный цикл, где он в значительной степени разбил мой браузер, поэтому я слегка ступаю в этот момент.
Я предполагаю, что проблема заключается в моей функции обратного вызова? Я пытаюсь сделать задержку 5000 мс, прежде чем функция снова запустится.
Любая помощь была бы принята с благодарностью. Благодаря!
'slide_function' никогда не вызывая функцию обратного вызова? Кроме того, вы передаете идентификатор тайм-аута в 'slide_function', а не функцию, то есть' setTimeout' не возвращает функцию –
Сохраните некоторую типизацию с помощью [% (Remainder)] (https: // developer. mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#.25_.28Modulus.29) – Andreas