2017-06-23 70 views
1

我正在使用隨機報價應用程序。點擊新的報價按鈕時會顯示報價,但是我希望報價在頁面加載時已經顯示。我調用了一個函數,但它仍然不起作用。謝謝!如何在頁面加載後立即顯示隨機報價?

這裏是我的代碼:

$(document).ready(function() { 
 
    function randomQuote() { 
 
    $('#get-quote').on('click', function(e){ 
 
     e.preventDefault(); 
 
     // Using jQuery 
 
     $.ajax({ 
 
      url: "http://quotes.stormconsultancy.co.uk/random.json", 
 
      dataType: "jsonp", 
 
      type: 'GET', 
 
      success: function(json) { 
 
      // do something with data 
 
      console.log(json); 
 
      data = json[0]; 
 
      $('#quotation').html('"'+json.quote+'"'); 
 
      $('#author').html('-- '+json.author+' --'); 
 
      $('a.twitter-share-button').attr('data-text',json.quote); 
 
      }, 
 

 
     }); 
 

 
    }); 
 
    $('#share-quote').on('click', function() { 
 
     var tweetQuote=$('#quotation').html(); 
 
     var tweetAuthor=$('#author').html(); 
 
     var url='https://twitter.com/intent/tweet?text=' + encodeURIComponent(tweetQuote+"\n"+tweetAuthor); 
 
     window.open(url) 
 
    }); 
 

 
    } 
 
    randomQuote(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

你得到任何錯誤的一面呢? – Burki

+0

因爲你仍然在聽'onClick'事件。 – Jalil

+0

我將這兩個函數都改爲'click'事件,但它仍然無法加載。 –

回答

1

嘗試刪除點擊偵聽器。裏面randomeQuote()刪除點擊偵聽器。

保持點擊監聽出document.ready

$(document).ready(function() { 
 
     randomQuote(); // call initially and get random quote 
 
}); 
 

 

 
function randomQuote() { 
 
    
 
     $.ajax({ 
 
      url: "https://quotes.stormconsultancy.co.uk/random.json", 
 
      dataType: "jsonp", 
 
      type: 'GET', 
 
      success: function(json) { 
 
      // do something with data 
 
      
 
      data = json[0]; 
 
      $('#quotation').html('"'+json.quote+'"'); 
 
      $('#author').html('-- '+json.author+' --'); 
 
      $('a.twitter-share-button').attr('data-text',json.quote); 
 
      }, 
 

 
     }); 
 

 
    $('#share-quote').on('click', function() { 
 
     var tweetQuote=$('#quotation').html(); 
 
     var tweetAuthor=$('#author').html(); 
 
     var url='https://twitter.com/intent/tweet?text=' + encodeURIComponent(tweetQuote+"\n"+tweetAuthor); 
 
     window.open(url) 
 
    }); 
 

 
    } 
 
    
 
$('#get-quote').on('click', function(e){ 
 
     e.preventDefault(); 
 
     randomQuote(); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<button id="get-quote">get quote</button> 
 

 
<div id="quotation"></div>

+0

中調用該函數如果您沒有單擊處理函數來獲取新的隨機引號,那麼也可以刪除html中的按鈕 –

+0

@克里蒂亞克拉克檢查我的答案,現在它的工作 –

+0

它現在的作品。我刪除了'onclick'和'e.preventDefault();'。我添加了'$('#get-quote')。click(function(){ randomQuote(); });' –

0

取出的onClick監聽器,這樣當你調用該函數將直接更新。

function randomQuote() { 
    $.ajax({ 
     ... 
     success: function(json) { 
     ... //do updates 
     }, 

    }); 
} 
+0

我仍然需要點擊一個按鈕來顯示下一個報價。另一個解決方案 –

+0

@KrittiyaClark:如果您希望它始終生成一個qoute,然後在'setInterval()' – Jalil

相關問題