0

エンドレススクローラーを作っています。

「Get more posts」ボタンを押すと、データが追加された後、動的に追加されたデータの最初の投稿 (div にある) までスクロールダウンする必要があります。

したがって、動的に追加されたデータの FIRST DIV を取得したいと考えています。

追加された最後の投稿の後にjQueryにdiv id(投稿のpost_id番号)を見つけさせ、次にjQueryに次に低い投稿番号(動的の最初のdiv idである必要があります)を見つけさせようとしていますデータを追加しました)。そして、それまでスクロールダウンする必要があります。

例えば:

    <div id = "5">
        //Post.
    </div>
    <div id = "4">
        //Post.
    </div>

    //THIS IS THE DYNAMICALLY ADDED CONTENT, IT IS ONLY ADDED AFTER THE AJAX CALL WITH JQUERY.
    <div id = "2"> //<--- It should scroll down to that one.
        //Post.
    </div>
    <div id = "1">
        //Post.
    </div>
//Dynamically added content ends.

<script type = "text/javascript">
$(document).ready(function(){
    $('#get-more-post').click(function(){

    var post_id = $('div.Posted:last').attr('rel');
    //In this case, the post_id = 4.

    $.post("add_more_post.php", {post_id: post_id} , function(data){
        if(data){
            var scroll_div = //I want jQuery to find the post which is lower than post_id = 4, that is post_id = 2. How is it done?;
            parent.$("html, body").animate({ scrollTop: $("div#"+scroll_div).offset().top; }, "slow");
        }
    });
    });
});
</script>
4

1 に答える 1

0

このようなものがうまくいくはずです。

var scrollDiv = $("#4").next("div").attr("id");

http://jsfiddle.net/637eT/1/

于 2013-04-14T01:25:40.373 に答える