Javascript 将滚动位置重置为新添加的元素

Javascript 将滚动位置重置为新添加的元素,javascript,html,angularjs,Javascript,Html,Angularjs,在容器中,元素将被动态添加和排序。在添加按钮的clcik上,我将向列表中添加一个新元素。 我想将滚动位置设置为最近添加的元素。请帮我解决这个问题 {{items} 添加新元素时,只需给它一个唯一的ID,然后使用此javascript即可 location.href = "#"; location.href = "#myDiv"; 您可以将jquery animate函数与$(“div#YourContentDiv p:last child”).offset()一起使用。 在Plunkr中还

在容器中,元素将被动态添加和排序。在添加按钮的clcik上,我将向列表中添加一个新元素。 我想将滚动位置设置为最近添加的元素。请帮我解决这个问题


{{items}


添加新元素时,只需给它一个唯一的ID,然后使用此javascript即可

location.href = "#";
location.href = "#myDiv";

您可以将jquery animate函数与
$(“div#YourContentDiv p:last child”).offset()一起使用。

在Plunkr中还有一个角度动画示例:

:
$(“body,html”).animate({
scrollTop:$(“div#YourContentDiv p:最后一个子项”).offset().top
}, 600);

新文本

新文本

新文本

新文本

新文本

新文本

新文本

新文本

新文本

新文本

新文本

新文本

新文本

新文本

新文本

新品


这一个肯定会解决您的问题。我为自己创建了此方法。

请注意,这是根据数据表滚动进行的。您需要根据您的代码更新诸如“.dataTables\u scrollBody”之类的类

var scrollPosition =0;
function saveScrollPosition ( container ) {
    if ( $( container ) != undefined && $( container ).find( '.dataTables_scrollBody' ) != undefined ) {
        scrollPosition = $( container ).find( '.dataTables_scrollBody' ).scrollTop();
    } else {
        scrollPosition = 0;
    }

}

function setScrollPosition ( container ) {
    if ( $( container ) != undefined && $( container ).find( '.dataTables_scrollBody' ) != undefined ) {
        $( container ).find( '.dataTables_scrollBody' ).scrollTop( scrollPosition );
    } else {
        scrollPosition = 0;
    }
}

我们能看一些JS代码吗?添加新项目的位置。我假设您的新项目将位于div的底部。您可以使用此解决方案滚动到底部,因为我正在对列表进行排序,一旦添加元素,我将相应地进行排序。所以我需要指出特定的位置,我们需要看看如何添加新元素。了解如何在DOM中获取元素,然后使用父元素。您解决了问题吗?
var scrollPosition =0;
function saveScrollPosition ( container ) {
    if ( $( container ) != undefined && $( container ).find( '.dataTables_scrollBody' ) != undefined ) {
        scrollPosition = $( container ).find( '.dataTables_scrollBody' ).scrollTop();
    } else {
        scrollPosition = 0;
    }

}

function setScrollPosition ( container ) {
    if ( $( container ) != undefined && $( container ).find( '.dataTables_scrollBody' ) != undefined ) {
        $( container ).find( '.dataTables_scrollBody' ).scrollTop( scrollPosition );
    } else {
        scrollPosition = 0;
    }
}