scrolltop不是正确的元素

时间:2016-07-21 16:51:05

标签: jquery css

我有用行填充的div标签(tr和td标签)。用户可以动态添加新行并附加它们(每个list_content dept div可以在其中包含可变数量的行,因此大小会经常更改):

$("#list_content_"+ dept_id).append(row);

在追加该行之后,我想滚动到新行,以便他们可以看到它(看到相信),但是没有一个不同的代码有效(它们不会滚动到正确的位置)。我要么想要将新行放在屏幕的顶部,要么只是可见。我不挑剔,我只是希望它保持一致。

什么没有用:

$("#row_"+ id).animate({scrollTop: $("#row_"+ id).prop("scrollHeight")}, 2000);

OR

$("#list_content_"+ dept_id).scrollTop($("#list_content_"+ dept_id).scrollTop() + $("#row_" + id).position().top - $("#list_content_"+ dept_id).height()/2 + $("#row_" + id).height()/2);

OR

$('html, body').animate({ scrollTop: $("#list_content_"+ dept_id).offset().top -80}, 2000);

OR

$("#list_content_"+ dept_id).animate({ scrollTop: $("#list_content_"+ dept_id).prop("scrollHeight")}, 2000);

任何帮助表示赞赏!显然,我不是这方面的专家。 谢谢!

1 个答案:

答案 0 :(得分:0)

这样的事情怎么样:

$('html, body').animate({ scrollTop: row.offset().top }, 2000);

由于您仍然保留对该行的引用,因此在追加时,您可以在调用.offset()时获取该坐标。