Я пытаюсь добавить функцию GetQuotes()
к кнопке. Каждый раз, когда вы нажимаете кнопку, он отображает новый текст или в этом случае новые кавычки. В настоящее время на кнопке отображается только ответ undefined
.Моя функция возвращает только неопределенные значения
Моей логикой было создание массива со строками кавычек. Сначала я попытался использовать цикл for
для генерации случайных кавычек. Однако это явно не имело никакого смысла. Затем я использовал Math.random()
для генерации случайных котировок. Затем я попробовал добавить свой класс h2
под названием stuff
. Кнопка называется quotes
. Когда вы нажимаете кнопку, она меняет текст в h2
.
Вот Javascript:
function getQuotes(){
var quotes = [
"Thousands of candles can be lighted from a single candle, and the life of the candle will not be shortened. Happiness never decreases by being shared.Buddha",
"Happiness is the art of never holding in your mind the memory of any unpleasant thing that has passed.Unknown",
"To be happy, we must not be too concerned with others.Albert Camus",
"If you want happiness for an hour — take a nap.If you want happiness for a day — go fishing.If you want happiness for a year — inherit a fortune.If you want happiness for a lifetime — help someone else."
]
var result = quotes[Math.floor(Math.random() * quotes.length)];
document.getElementById("stuff").innerHTML = result;
}
Вот JQuery:
$(document).on('click', '#quotes', function() {
document.getElementById("stuff").innerHTML = getQuotes();
});
И HTML:
<div class="row">
<div class="col-12-xs">
<h2 id="stuff" class="text-center"><em> Here is some Text </em> </h2>
</div>
</div>
$ ('# вещи').HTML (getQuotes()); – circusdei
Внутри вашей функции удалите 'document.getElementById (" stuff "). InnerHTML = result;' и замените его на 'return result;' –
Можете ли вы объяснить, почему это сработало? – Codes316