【问题标题】:Get tumblr like button to work with infinite scrolling获取类似 tumblr 的按钮以使用无限滚动
【发布时间】:2014-04-13 23:32:34
【问题描述】:

我正在尝试让类似 tumblr 的按钮可以无限滚动。

下面是我的代码不起作用。

之后是一个有效的代码。

我不熟悉 Javascript,所以我不确定如何将它们网格化以使其工作

function( newElements ) {
    var $newElems = $(newElements);
    $newElems.hide();
    $newElems.imagesLoaded(function(){
        $wall.masonry( 'appended', $newElems,{isAnimated: false}, function() {
            $newElems.fadeIn('fast');
        });
    });
    }); 
$('#posts').show(0);
});

这里有一个有效的

function(newElements){
    var $newElems = $(newElements).css("opacity","0").css("pointer-events","none");
    $('.photoset-grid').photosetGrid({highresLinks: true,rel: $('.photoset-grid').attr('data-id'),gutter: '5px',onComplete: function(){}});
    $('.photoset-grid,.lightbox').each(function() {
        $(this).magnificPopup({delegate: 'a',type: 'image',gallery:{enabled:true},removalDelay: 200,mainClass: 'mfp-fade'});
    });
    var $newElemsIDs = $newElems.map(function (){return this.id;}).get();
    $newElems.imagesLoaded(function(){
        $newElems.css("opacity","1").css("pointer-events","auto");
        $K.masonry('appended',$newElems,true);
        console.log($newElems,$newElemsIDs);
        Tumblr.LikeButton.get_status_by_post_ids($newElemsIDs);
    });
});

感谢您的帮助。

编辑:我的完整代码

$(window).load(function(){
var $wall = $('#posts');
$wall.imagesLoaded(function(){
$wall.masonry({
itemSelector: '.entry, .entry_photo',
isAnimated : false
});
});

$wall.infinitescroll({
navSelector : '#pagination',
nextSelector : '#pagination a',
itemSelector : '.entry, .entry_photo',
bufferPx : 2000,
debug : false,
errorCallback: function() {
$('#infscr-loading').fadeOut('normal');
}},
function( newElements ) {
var $newElems = $( newElements );
$newElems.hide();
$newElems.imagesLoaded(function(){
$wall.masonry( 'appended', $newElems,{isAnimated: false}, function()   {$newElems.fadeIn('fast');} );
});
}); $('#posts').show(0);
});    

【问题讨论】:

    标签: javascript tumblr infinite-scroll social-media-like


    【解决方案1】:
    function( newElements ) {
        var $newElems = $(newElements);
        // Get IDs for new Elements 
        var $newElemsIDs = $newElems.map(function (){return this.id;}).get();
        $newElems.hide();
        // Tell Tumblr we need new LikeButton statuses
        Tumblr.LikeButton.get_status_by_post_ids($newElemsIDs);
        $newElems.imagesLoaded(function(){
            $wall.masonry( 'appended', $newElems,{isAnimated: false}, function() {
                $newElems.fadeIn('fast');
            });
        });
        $('#posts').show(0);
    });
    

    【讨论】:

    • 没用。我已经包含了我的完整代码以防万一
    • @RukiaKuchki 我在你的代码中看不到Tumblr.LikeButton?我可能会添加一个示例/任何错误消息。谢谢。
    • 我添加的完整代码(最后一个)没有类似按钮,因为我不确定如何使用它。中间代码有,我从别人那里得到的代码作为例子。
    • @RukiaKuchki 是的,我相信代码来自我之前的回答:stackoverflow.com/a/16396022/2312574
    猜你喜欢
    • 2013-08-11
    • 2013-04-29
    • 1970-01-01
    • 2012-09-23
    • 2012-05-08
    • 2013-08-17
    • 2011-07-27
    • 1970-01-01
    相关资源
    最近更新 更多