我有用行填充的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);
任何帮助表示赞赏!显然,我不是这方面的专家。 谢谢!
答案 0 :(得分:0)
这样的事情怎么样:
$('html, body').animate({ scrollTop: row.offset().top }, 2000);
由于您仍然保留对该行的引用,因此在追加时,您可以在调用.offset()
时获取该坐标。