我正在通过学习YouTube制作报价展示网站。我对一个问题很好奇。当我按下按钮时,它会多次显示相同的报价,但有时并不总是这样(我使用Math.random()函数,所以通常会出现这种情况)。我希望当我按下按钮时,它会更改报价,而不是停留在同一报价上。
我没有任何想法,所以我什么也没做。
const quotes = [
{
author: 'Ramiz Karaeski',
quote: 'Meyvayı soymadan içinden ne çıkacak bilemem, kardeş.'
},
{
author: 'Franz Kafka',
quote: 'Beyinlerimiz savaşsın isterdim ama görüyorum ki silahsınız bayım.'
},
{
author: 'Fyodor Dostoyevski',
quote: 'Cehennem nedir? Sevginin artık imkansız olduğuna dair çekilen bir acıdır.'
},
{
author: 'Lev Tolstoy',
quote: 'Herkes dünyayı değiştirmeyi düşünür, ama kimse kendini değiştirmeyi düşünmez.'
},
{
author: 'Charles Bukowski',
quote: 'İnsan her zaman ihanet eder sonunda. Kimseye güvenme.'
},
{
author: 'Friedrich Nietzsche',
quote: 'Oysa güzelliğin sesi kısıktır konuşurken; sadece en uyanık ruhlara yanaşır.'
},
{
author: 'Sabahattin Ali',
quote: 'On beş günlük ömrü on beş seneye sığdıramazsın da, on beş senelik ömrü on beş günde yaşayıverirsin!'
}
]
const quoteAuthor = document.getElementById('author');
const displayQuote = document.getElementById('quote');
const buttonChange = document.getElementById('button-change-quote');
buttonChange.addEventListener('click', change);
let random = 0;
change();
function change() {
random = Math.floor(Math.random() * quotes.length);
quoteAuthor.innerHTML = quotes[random].author;
displayQuote.innerHTML = quotes[random].quote;
}
Math.random()
的调用放在一个while
循环中,并不断尝试直到获得一个不同的值。 - Pointy