0

この機能を追加したい:

$("#overflow").animate({"scrollTop": $('#overflow')[0].scrollHeight}, "slow");

私のjQueryスクリプトに:

$('.comment_button').live("click",function() 
{
    var ID = $(this).attr("id");
    var uid = $("#uid").val();
    var comment= $("#ctextarea"+ID).val();
    var dataString = 'comment='+ comment + '&msg_id=' + ID + '&uid=' + uid;

    if(comment=='')
    {
        $('#ctextarea').html("").fadeIn('slow');
        $("#ctextarea"+ID).focus();
    }
    else if (!$.trim($("#ctextarea"+ID).val()))
    {
        $("#ctextarea"+ID).focus();
    }
    else
    {
        $.ajax
        ({
            type: "POST",
            url: "comment_ajax.php",
            data: dataString,
            cache: false,
            success: function(html)
            {
                $("#commentload"+ID).append(html);
                $("#ctextarea"+ID).val('');
                $("#ctextarea"+ID).focus();
            }
        });
    }
    return false;
});

CSS :

#overflow
{
overflow-y: auto;
overflow-x: hidden;
min-height: 50px;
max-height: 246px;
}

および HTML :

<div class="overflow" id="overflow">
bla bla bla
<div>

私の質問は、その関数を私の jQuery スクリプトに入れる方法ですか? 関数のロジックは、新しいデータがあれば、自動的に下にスクロールします。

ありがとう。

4

1 に答える 1

0

あなたのコードを正しく理解していれば...これで、コメントにデータがあるたびに一番下までスクロールします。

$('.comment_button').live("click",function() 
{
    var ID = $(this).attr("id");
    var uid = $("#uid").val();
    var comment= $("#ctextarea"+ID).val();
    var dataString = 'comment='+ comment + '&msg_id=' + ID + '&uid=' + uid;

    if(comment=='')
    {
        $('#ctextarea').html("").fadeIn('slow');
        $("#ctextarea"+ID).focus();
    }
    else if (!$.trim($("#ctextarea"+ID).val()))
    {
        $("#overflow").animate({"scrollTop": $('#overflow')[0].scrollHeight}, "slow");
        $("#ctextarea"+ID).focus();
    }
    else
    {
        $.ajax
        ({
            type: "POST",
            url: "comment_ajax.php",
            data: dataString,
            cache: false,
            success: function(html)
            {
                $("#commentload"+ID).append(html);
                $("#ctextarea"+ID).val('');
                $("#ctextarea"+ID).focus();
            }
        });
    }
    return false;
});
于 2013-07-23T02:46:51.430 に答える