Запомните последние n элементов в jQuery

У меня есть код для случайного выделения одного имени из списка (это работает - см. this fiddle ):

function pickRandom() {
  var random = Math.floor(Math.random() * 6);
  $('.stname').css('background','none').eq(random).css('background','yellow');
}

Но я бы хотел убедиться, что одни и те же имена не повторяются снова и снова. Поэтому я намерен запомнить последние 3 выбранных индекса как черный список:

var recentlyAsked = new Array();
function pickRandom() {
  var random;
  do {
    random = Math.floor(Math.random() * 6);
  } while ($.inArray(random,recentlyAsked));
  recentlyAsked.push(random);
  if (recentlyAsked.length >= 4) recentlyAsked.shift();
  $('.stname').css('background','none').eq(random).css('background','yellow');
}

Это не работает; см. эта скрипка . Предупреждение: это приводит к зависанию браузера.

Какие-нибудь предложения, пожалуйста?

0
задан James 19 November 2011 в 19:06
поделиться