Javascript 将滚动位置重置为新添加的元素
在容器中,元素将被动态添加和排序。在添加按钮的clcik上,我将向列表中添加一个新元素。 我想将滚动位置设置为最近添加的元素。请帮我解决这个问题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中还
{{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;
}
}