使用jquery在div中滚动

时间:2014-01-17 06:59:21

标签: jquery css

我有一个<div> overflow:auto。此<div>包含带有搜索栏的<form>。 我正以相同的形式显示提取的记录,现在我只需将<div>(我的搜索结果开始显示)滚动到其容器<div>的顶部(而不是顶部)页面)。

检查创建的jsfiddle。 http://jsfiddle.net/tusharjs/wGUE2/15/

在这里,我尝试了一种我在stackoverflow上找到的解决方案,但它将所需的<div id="scrollto">滚动到页面顶部而不是<div id="maincontent">的顶部。

由于

1 个答案:

答案 0 :(得分:6)

您应该使用.offset()方法获取元素的实际顶部,并从要滚动的数量中减去该值。

$(document).ready( function(){
  var elem = $('#scrollto');
  if(elem)
  {
    var main = $("#maincontent"),
        t = main.offset().top;
        main.scrollTop(elem.offset().top - t);
  }
});

Here's my fork of your fiddle

为卷轴设置动画可能会更令人印象深刻:

main.animate({scrollTop: elem.offset().top - t}, 500);

上面的第二个参数是持续时间(以毫秒为单位)。更新的示例为here