我正在制作一个报价机,并且新的报价按钮可以工作,但是如何加载/刷新页面后又已经加载了新的报价呢?现在,您必须单击“ +”按钮以获取一个。
小提琴:https://jsfiddle.net/hanyb9da/18/
报价更改代码:
$('#random-quote').click(function() {
var randomIndex = Math.floor(Math.random() * quotes.length);
var selectedQuote = quotes[randomIndex];
$('#main-quote').text(selectedQuote.quote);
var selectedBG = selectedQuote.background;
console.log(selectedBG);
$("body").css("background-image", "url('" + selectedBG + "')");
});
谢谢 :)
最佳答案
为此,您可以在设置事件处理程序后立即触发click事件:
$('#random-quote').click(function() {
// your code here...
}).trigger('click'); // or just .click()
或者,您可以将生成和显示报价的逻辑放入自己的函数中,您可以在单击按钮和加载页面时调用它,如下所示:
function getQuote() {
var randomIndex = Math.floor(Math.random() * quotes.length);
var selectedQuote = quotes[randomIndex];
$('#main-quote').text(selectedQuote.quote);
var selectedBG = selectedQuote.background;
console.log(selectedBG);
$("body").css("background-image", "url('" + selectedBG + "')");
}
$('#random-quote').click(getQuote); // on click
getQuote(); // on load
Updated fiddle
关于javascript - 页面刷新新报价,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38314344/