滚动到元素并将其放置在视图中间

时间:2014-11-11 12:51:42

标签: jquery

我正在尝试自动滚动到订单簿的中间行。

我有orderBook div,其中放置了orderBook的表。并且该表中的一行具有id middleRow。我要做的是滚动并将该行放在orderBook中间。

预期结果显示在图片上:

enter image description here

我试过了jQuery scrollTo函数,但它将中间行放在屏幕顶部,如下所示:

  

$( '#手持订单')。找到( 'tableBody ')。scrollTo(' #orderBookMiddleRow')

enter image description here

1 个答案:

答案 0 :(得分:10)

http://demos.flesler.com/jquery/scrollTo/

您可以像这样指定滚动的偏移量:

$('#orderBook').find('.tableBody').scrollTo('#orderBookMiddleRow', 500, {offset: -$(window).height() /2})

这是一个非常简单的概念证明:http://jsfiddle.net/6k8asog1/

修改:这是OP修改后的代码,用于滚动到#orderBook的中心,而不是窗口:

$('#orderBook').find('.tableBody').scrollTo('#orderBookMiddleRow', 500, {offset: $('#orderBook').offset().top - $('#orderBook').height() - $('#orderBookMiddleRow').height() })