Прежде всего вам нужно поместить код, который выполняет работу (отображает случайное число и решает, следует ли его продолжать) внутри своей собственной функции.Эта функция также может быть локальной переменной внутри RandomNumberGenerator
:
var displayNumber = function() {
$('li.num').text(myArray[i++]);
if (i < 100) {
setTimeout(displayNumber, 2000);
}
};
Приведенная выше функция помещает число в li.num
, увеличивает i
и сообщает браузеру, что нужно снова вызвать функцию (используя setTimeout
) в течение двух секунд - но только если мы показали меньше 100 чисел.
Поэтому, когда эта функция (displayNumber
) вызывается впервые, она отображает одинномер и устанавливает вещи для повторного вызова через 2 секунды (для отображения другого номера и т. д.).Если он уже отобразил 100 номеров, он не устанавливает вызов снова, поэтому в этот момент повторение прекращается.
Теперь вы можете сделать:
var myArray = new Array(99);
for (var i=0; i< 99; i++) {
myArray[i] = Math.floor(Math.random()*100);
}
var i = 0;
var displayNumber = function() {
$('#foo').text(myArray[i++]);
if (i < 10) {
setTimeout(displayNumber, 2000);
}
};
displayNumber(); // to get the ball rolling