我想自动滚动到一个元素,但是我不能让它滚动,所以#elem在#crm_corp_scroll目录的底部。我试着用
$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目录底部的视图。
发布于 2012-06-01 15:38:59
编辑:
尝试了更适合您需求的不同方法:
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)为例,当它位于文档开头以外的其他位置时,它也可以工作。
https://stackoverflow.com/questions/10845891
复制相似问题