Сегодня я делал цикл с помощью setTimeout ().К сожалению, некоторые параметры функции получали странные значения.
Короче говоря, это то, что происходит:
var x = 1;
var steps = 3;
var timer = false;
function myFunc( y ){
if( !isNaN(y)&&parseInt(y)==y&&y>0 ) { // if y is int and greater than 0
x = y;
} else { // y is no int or is below 0
if( x >= steps ) { // x is greater than or equal to steps, return to first step
x = 1
} else { // x is less than steps, add 1
x++;
}
}
window.clearTimeout( timer );
timer = setTimeout( myFunc, 1000 );
}
Теперь каким-то образом мистер Firefox случайным образом бросает int, гораздо больше, чем "шаги"в параметр" y "при запуске таймера ... ПОЧЕМУ он это делает?
Я решил эту проблему, просто сделав это:
timer = setTimeout( function(){ myFunc( -1 ) }, 1000 );
Но все же ..ПОЧЕМУ браузер выдавал случайные числа в параметре "y"?
Кто-нибудь?