2012-04-14 151 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