这个想法是:点击一个按钮用一个数组的唯一字符串取代标题。这样做的问题是,我使用数组的字符串之前是这样的:如何获得随机字符串通过点击从数组没有重复?
headlines = new Array("Good", "Bad", "Ugly", "Random Headline");
var randomNumberBefore = 4;
alert (headlines[randomNumberBefore]);
,但我不希望再次显示相同的标题,thatswhy是重点检查,实际指数randomNumberBefore
是不相同号码像新索引randomNumber
。下面的函数对我来说很有意义,但有时它会返回相同的数字,导致标题被自己替换,用户注意到没有变化。
function randomNumberByRange (range, number) {
var r;
do {
var r = Math.floor(Math.random() * range);
} while (r == number);
return r;
}
$(document).on('click','.nextquote' , function() {
var randomNumber = randomNumberByRange(headlines.length, randomNumberBefore);
var nextHeadline = headlines[randomNumber];
$(".bannertext").text(nextHeadline);
console.log(nextHeadline);
});
任何想法得到独特的头条新闻每次点击?
这是我的starting fiddle。
-
这里是final fiddle。
而当所有项目已经显示,显示什么? – dfsq 2014-10-28 18:32:33
当,这是我见过的最随机的4个 – 2014-10-28 18:34:58
Google for“(Knuth)Fisher Yates shuffle”,然后只显示他们的顺序。 – Alnitak 2014-10-28 18:36:15