我正在制作一个报价机,并且新的报价按钮可以工作,但是如何加载/刷新页面后又已经加载了新的报价呢?现在,您必须单击“ +”按钮以获取一个。

小提琴: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/

10-11 12:57