2013-07-10 12 views
-1

我有一個網站,曾用於使用seaofclouds jquery插件的twitter。自從twitter改變API後,該插件停止工作。Twitter Tweetable Plugin

我通過使用從Github下載的new plugin找到了解決方案。唯一的問題是,插件從API中獲取推文的時間稍有延遲。

我想顯示消息:「載入推文」,同時推特正在加載,直到他們加載。

這是我當前的代碼:

<script type="text/javascript"> 
    $(function(){ 
     $('#tweets').tweetable({ 
      username: 'myusername', 
      time: true, 
      limit: 3, 
      replies: false, 
      position: 'append', 
      failed: "Sorry, twitter is currently unavailable for this user.", 
      html5: true, 
      onComplete:function($ul) { 
       $('time').timeago(); 
      } 
     }); 
    }); 
</script> 
+0

我仍然認爲下面的答案是一個很好的答案 - 你知道我走進你的圖書館的源代碼爲你看看究竟是否有可能嗎? – Jimbo

+0

是的。但我現在已經意識到這個JS不能使用新的API。 nowr我可以使用PHP Oauth解決方案,因爲即時通訊運行dotnetnuke。所以我只是要堅持推特部件:-) – AnaMaria

+0

我的意思是它在一些地區工作正常,然後它不在其他..相同來源的問題... – AnaMaria

回答

2

縱觀documentation您所選擇的庫,它看起來像onComplete是您可以使用的唯一的回調。

缺少進入源代碼並自己修改它,您有另一種選擇。

它看起來像撥打.tweetable()與您目前的<div> s html。所以,你要執行以下操作:

  • 隱藏你的$('#tweets')元素在一開始 - 設置它的風格display: none;
  • 再來div含有「載入中...」這是明顯的
  • 在完整的方法,隱藏加載<div>並顯示$('#tweets')代替

HTML

<div id="tweets" style="display: none"></div> 
<div id="loading">Loading...</div> 

的jQuery(在你的全部功能)

onComplete:function($ul) { 
    $('time').timeago(); 
    $('#loading').fadeOut('fast', function() { 
     $('#tweets').fadeIn('fast'); 
    }); 
} 

當然,我用​​和fadeIn()這裏,但你可以很容易地使用hide()show()代替。