У меня есть эта страница с кнопкой, на которую пользователь может нажать, чтобы сгенерировать случайную цитату.
Я начал примерно так:
function randomize() {
var myrandom = Math.round(Math.random() * 4)
if (myrandom == 0)
document.getElementById("randomQuote").innerHTML = "Quote 01"
else if (myrandom == 1)
document.getElementById("randomQuote").innerHTML = "Quote 02"
else if (myrandom == 2)
document.getElementById("randomQuote").innerHTML = "Quote 03"
else if (myrandom == 3)
document.getElementById("randomQuote").innerHTML = "Quote 04"
else if (myrandom == 4)
document.getElementById("randomQuote").innerHTML = "Quote 05"
}
<p><button onclick="randomize()" type="button">Random Quote</button></p>
<p id="randomQuote"></p>
Но так как я не хочу повторять кавычки (по крайней мере, пока все они не будут показаны один раз), и после просмотра этоpost Я попробовал следующее:
function randomize() {
var quotes = ["Quote 01", "Quote 02", "Quote 03", "Quote 04", "Quote 05"],
ranQuotes = [],
i = quotes.length,
j = 0;
while (i--) {
j = Math.floor(Math.random() * (i + 1));
ranQuotes.push(quotes[j]);
quotes.splice(j, 1);
}
document.getElementById("randomQuote").innerHTML = ranQuotes;
}
<p><button onclick="randomize()" type="button">Random Quote</button></p>
<p id="randomQuote"></p>
Но это решение, наряду с альтернативными решениями в том же посте, рандомизирует и отображает все цитаты.Я хотел бы отображать только по одному за раз.
Как я могу это сделать?