无限卷轴闪现

时间:2012-04-14 00:15:58

标签: jquery flash tumblr

我差不多完成了下面的不倒翁主题。主题使用无限滚动插件,这适用于不包含flash(照片,文字,...)的帖子。视频和音频帖子使用flash,当无限滚动开始加载更多帖子时,它不会加载到Flash帖子中。我无法理解为什么,任何人都可以在截止日期即将到来时提供帮助吗?

http://penguinenglishlibrary.tumblr.com/

2 个答案:

答案 0 :(得分: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");
                */
            }
        }
    
  3. 回调代码如下:

    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 :(得分:2)

当对下一页进行ajax调用时,内联脚本标记将从请求中删除。因此闪存不起作用的原因。

.find方法在插件中使用,隐式地作为.load方法和回调阶段的一部分:

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

最好的选择是隔离JS代码,看看flash视频工作所需的内联JS,这似乎是合理的。