如何滚动到一个元素,使其位于滚动div的底部?

时间:2012-06-01 07:06:50

标签: javascript jquery

我想自动滚动到一个元素,但我不能让它滚动,以便#elem位于#crm_corp_scroll div的底部。我尝试使用

$j('#crm_corp_scroll').animate({scrollTop: $j('#'+elem).offset().top},'fast');

但它会滚动div,使元素位于顶部且不在视野范围内。

我尝试了原生的scrollIntoView,但它将我滚动到元素的中间。我希望将完整元素放入视图中。

jsFiddle for how it works right now。我希望它滚动,因此row6位于#crm_corp_scroll的底部。

找出溶剂:

$j('#crm_corp_scroll').animate({scrollTop: ($j('#'+elem).offset().top - $j('#crm_corp_scroll').height() + $j('#'+elem).height() * 2) },'fast');

这个滚动元素进入#crm_corp_scroll div底部的视图。

1 个答案:

答案 0 :(得分:1)

修改

尝试了更好的方法,以更好地满足您的需求:

http://jsfiddle.net/HLxGM/5/


我改变了你的jsfiddle here

查看它是否按预期工作。

我使用了row.offset()。top - box.height()+(row.height()* 2)它似乎按预期工作。

更可靠的解决方案here

取row.offset()。top - box.offset()。top - box.height()+(row.height()* 2)当它在其他地方然后开始时它也可以工作文档。