0

私は自分のプロジェクトに無限スクロールを備えたMasonryを使用しています。私のコンテンツはphp経由で動的に生成されます。それら(div)がクリックされたときにいくつかのことを行うdiv内の画像があります。ここに私のjQueryコードがあります:

$(document).ready(function(){
function vote(direction, media_id) {                                                                                                                                                                                                                                           
    $.get("http://"+ siteDomain +"/a/vote?type=image&mediaId="+ media_id +"&vote=" + direction, {}, function(data, textStatus) {                                                                                                                                               
        if(direction == 'up'){                                                                                                                                                                                                                                             
            var current_vote = $("#upmedia-"+ media_id +" div").text();                                                                                                                                                                                                
            $("#ico-likes-"+ media_id +" div").css({opacity: 0}).animate({opacity: 1}, 700 ).text(parseInt(current_vote)+1);                                                                                                                                               
            $("#upmedia-"+ media_id +" div").css({opacity: 0}).animate({opacity: 1}, 700 ).text(parseInt(current_vote)+1);                                                                                                                                                 
            $("#upmedia-"+ media_id +"").removeClass("voteup").addClass("hasvotedup");                                                                                                                                                                                     
        }                                                                                                                                                                                                                                                                  
    }, "json");                                                                                                                                                                                                                                                                
}                                                                                                                                                                                                                                                                              
$(".voteup").click(function() { 
    var media_id = $(this).attr("id").replace('upmedia-', '');
    vote('up', media_id);
    return false; 
});                                                                                                                                               

});

上記のコードは、div .voteup がクリックされたときに実行されます。すべて正常に動作していますが、最初のページのみです。Infinite Scroll を介して 2 番目のページをロードし、.voteup クラスの div をクリックしても何も起こりません。私のjqueryコードは、2番目のページからロードされたすべての要素に対して機能していません.

石工と無限スクロールの私のコードは次のとおりです。

$(function(){                                                                                                                                                                                                                                                              
var $container = $(".gwrap-splash");                                                                                                                                                                                                                                   
$container.imagesLoaded( function(){                                                                                                                                                                                                                                   
    $container.masonry({                                                                                                                                                                                                                                               
        itemSelector : ".gimg-splash",                                                                                                                                                                                                                                 
        isAnimated: false,                                                                                                                                                                                                                                             
        cornerStampSelector: ".side-block-splash"                                                                                                                                                                                                                      
    });                                                                                                                                                                                                                                                                
});                                                                                                                                                                                                                                                                    
$container.infinitescroll({                                                                                                                                                                                                                                            
    navSelector  : ".public-navigation",                                                                                                                                                                                                                               
    nextSelector : ".public-navigation-next",                                                                                                                                                                                                                          
    itemSelector : ".gimg-splash",                                                                                                                                                                                                                                     
    bufferPx     : 20,                                                                                                                                                                                                                                                 
    loading: {                                                                                                                                                                                                                                                         
        finishedMsg: "No more pages to load.",                                                                                                                                                                                                                         
        img: "'.STATIC_URL.'/i/default/loader-big.gif"                                                                                                                                                                                                                 
    }                                                                                                                                                                                                                                                                  
},                                                                                                                                                                                                                                                                     
function( newElements ) {                                                                                                                                                                                                                                              
    var $newElems = $( newElements ).css({ opacity: 0 });                                                                                                                                                                                                              
    $newElems.imagesLoaded(function(){                                                                                                                                                                                                                                 
        $newElems.animate({ opacity: 1 });                                                                                                                                                                                                                             
        $container.masonry( \'appended\', $newElems, true );                                                                                                                                                                                                           
    });                                                                                                                                                                                                                                                                
});                                                                                                                                                                                                                                                                    

});

助けてください!

4

1 に答える 1

1

私はこれを解決することができました。目標はfunction vote()内部に追加することでした$container.infinitescroll()

于 2013-02-21T21:25:06.487 に答える