0

何らかの理由で、通常は指定された targetDiv の先頭まで上下にスクロールするこのコードが、代わりに、targetDiv が既にある場所の末尾よりもページをさらに下にスクロールします。

function postData(data, url, divAction, targetDiv) {
    $.ajax({
        type: 'POST',
        url: url,
        data: data,
        success: function(response) {
            if (divAction == 'hide') {
                $(targetDiv).hide();
                $(targetDiv).empty();
            }
            if (divAction == 'refresh') {
                $(targetDiv).html(response);
                $('html, body').animate({
                    scrollTop: '+=' + $(targetDiv).offset().top + 'px'
                }, 'fast');
            }
        },
        error: function() {
            alert('Error! Plese try again.');
        }
    });
    return false;
};

どんな提案でも大歓迎です!

4

2 に答える 2

2

代わりにこれを試してください:

$('html, body').animate({
    scrollTop: $(targetDiv).offset().top
}, 'fast');
于 2013-04-30T08:40:46.703 に答える
0

ここに jsfiddleがあり、動作します。`

targetDiv = $('#id1');
$(targetDiv).html("<iframe src=\"www.google.com\" />");
$('html, body').animate({scrollTop: '+=' + $(targetDiv).offset().top + 'px'

}, '速い')`

于 2013-04-30T08:55:28.803 に答える