2012-04-14 153 views
1

我幾乎完成了下面創建滾揉機主題。主題使用無限滾動插件,這適用於不包含閃光燈(照片,文字,...)的帖子。視頻和音頻文章使用閃光燈,當無限滾動開始加載更多的帖子時,它不會加載到閃光燈帖子中。我不能忍受爲什麼,任何人都可以請求幫助,因爲截止日期即將到來?無限滾動條閃動

http://penguinenglishlibrary.tumblr.com/

回答

5

原來我需要遍歷帖子並調用tumblr api來獲取音頻帖子的嵌入代碼。

我已經把代碼如下希望這將幫助別人:

  1. 我在tumblr主題如下因素的html代碼:

    {塊:帖子}

    <div id="{PostID}" class="posts {block:Photo}photo-post{/block:Photo} {block:Video}video-post{/block:Video} {block:Audio}audio-post{/block:Audio} {block:Photoset}photoset-post{/block:Photoset}"> 
    
  2. 然後在回調(見下面)砌體我有以下代碼:

    /* repair audio players*/ 
    $('.audioplayerinto').each(function(){ 
        var audioID = $(this).attr("id"); 
        var $audioPost = $(this); 
        $.ajax({ 
         url: 'http://myblog.tumblr.com/api/read/json?id=' + audioID, 
         dataType: 'jsonp', 
         timeout: 50000, 
         success: function(data){ 
    
          $audioPost.html(data.posts[0]["audio-player"]); 
    
    
          /* 
          $audioPost.append('\x3cdiv style=\x22background-color:white;height:30px\x22 class=\x22audio_player\x22\x3e' + data.posts[0]['audio-player'] +'\x3c/div\x3e'); 
          alert("It worked"); 
          */ 
         } 
        } 
    

回調代碼如下:

if($content.infinitescroll) { 

    $content.masonry({ 
     itemSelector: '.posts', 
     //columnWidth: 235, 
     isAnimated: true 
    }),  
    $content.infinitescroll({ 
     navSelector : 'div#pagination', 
     nextSelector : 'div#pagination div#nextPage a', 
     itemSelector : '.posts', 
     loading: { 
      finishedMsg: '', 
      img: 'http://static.tumblr.com/dbek3sy/pX1lrx8xv/ajax-loader.gif' 
     }, 
     bufferPx  : 500, 
     debug   : false, 
    }, 
    // call masonry as a callback. 
    function(newElements) { 
+1

很好地完成,對不起,我不熟悉之前從未使用過的tumblr,否則我會爲您提供代碼。 – trickyzter 2012-04-15 09:08:41

+0

謝謝感謝您的幫助,它引發了一個思想線索 – Burt 2012-04-15 12:51:05

+0

@Burt您是否介意解釋您是如何實現此代碼的?我正在努力解決這個問題http://stackoverflow.com/questions/10165501/tumblr-audio-video-players-masonry-with-infinite-scroll但沒有運氣。謝謝。 – Barbara 2012-04-15 20:03:34

2

當AJAX調用到下一個頁面製作,聯腳本標籤被剝離出來的要求。因此,閃光燈無法工作的原因。

的.find方法插件內使用,隱式地作爲.load方法的一部分和回調相:

jquery: Keep <script> tag after .find()

你最好的選擇是隔離JS代碼,具有搜索這是Flash視頻工作所需的內聯JS,這似乎是合理的。

+0

感謝您的答覆很欣賞的幫助下,G =你能可能擴大更多關於你的意思嗎? – Burt 2012-04-14 12:24:50

+1

最好的解決方案是循環回調函數中返回的每個帖子,確定它是否是動態內容並附加必要的JS以使其工作。 – trickyzter 2012-04-14 22:21:29

+0

得到它的工作。原來,我需要ajax調用api來獲取嵌入代碼(見下文)。 – Burt 2012-04-15 00:30:35