2012-02-07 14 views
0

Infinite Scroll内の新しい要素ごとに投票機能を追加しようとしています。私は投票機能を有効にすることができましたが、ページをスクロールするときにロードされる新しい要素では機能しません。無限スクロール新しい要素

ペーストビンのURL:http://pastebin.com/0eNYDXrm

私は以下の私のコードを添付しました。どんな助けや助言も高く評価されます...多くのありがとう!

<script type="text/javascript"> 
$('.protected-post-form').center(); 
$('#content').infinitescroll({ 
    debug: false, 
    loading: {}, 
    state: { 
     currPage: "1" 
    }, 
    nextSelector: "div.navigation a:first", 
    navSelector: "div.navigation", 
    contentSelector: "#content", 
    itemSelector: "#content div.post", 
    pathParse: ["<?php echo $_SERVER["HTTP_HOST "] . $_SERVER["REQUEST_URI "] ?>page/", "/"] 
}, function() { 
    window.setTimeout(infinite_scroll_callback(), 1); 
}); 


function applyvote(elements) { 
    $(elements).each(
    $(".vote a").click(

    function() { 
     var some = jQuery(this); 
     var thepost = jQuery(this).attr("post"); 
     var theuser = jQuery(this).attr("user"); 
     jQuery.post("<?php bloginfo('template_url'); ?>/vote.php", { 
      user: theuser, 
      post: thepost 
     }, function(data) { 
      var votebox = ".vote" + thepost + " span"; 
      jQuery(votebox).text(data); 
     }); 
    }); 
    }); 
} 

$(elem).infinitescroll(options, applyvote(arrayOfNewElems)); 

});  


</script> 

答えて

0
$(elem).infinitescroll(options, applyvote(arrayOfNewElems)); 
.infinitescroll

第2引数は、コールバック関数です。 applyvote(arrayOfNewElems)は関数ではなく関数呼び出しです(関数呼び出し時に返される値はundefinedのように評価されます)。今、あなたは、新しいコンテンツがロードされたときに、それ自体が呼び出すinifinitescroll機能を渡している

$(elem).infinitescroll(options, applyvote); 

、それが作成された新しい要素を渡します。代わりにこれを使用してください。

+0

私はこれを試しました –

+0

2つの違いを知ることは非常に重要です。次の問題は何ですか?デバッガは何か言っている? – ori

関連する問題