У меня есть код для случайного выделения одного имени из списка (это работает - см. 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');
}
Это не работает; см. эта скрипка . Предупреждение: это приводит к зависанию браузера.
Какие-нибудь предложения, пожалуйста?