Jquery不会滚动到元素

时间:2013-09-06 10:24:02

标签: jquery

这是我的笔:

http://codepen.io/helloworld/pen/EAfFD

我期望从jquery滚动到id4的元素,但没有任何反应。

为什么?

<div id="container">
  <div id="id1" style="height:400px;background:blue;"></div>
  <div id="id2" style="height:400px;background:red;"></div>
  <div id="id3" style="height:400px;background:green;"></div>
  <div id="id4" style="height:400px;background:orange;"></div>
</div>

$(document).ready(function() {

 var container = $('#container');
 var scrollTo = $('#id4');

container.animate({scrollTop: scrollTo.offset().top  - container.offset().top + container.scrollTop()
            });
});

2 个答案:

答案 0 :(得分:1)

尝试:

var container = $('html,body');
var scrollTo = $('#id4');
container.animate({
        scrollTop:scrollTo.position().top
}, 'slow');

演示:: jsFiddle

答案 1 :(得分:0)

您尝试执行的代码会出现以下错误:

  

未捕获的ReferenceError:$未定义

这意味着不包含jQuery。

如果不能解决问题,请尝试更改

container.animate(
{
    scrollTop: scrollTo.offset().top  - container.offset().top + container.scrollTop()
});

$('html, body').animate(
{
    scrollTop: scrollTo.offset().top  - container.offset().top + container.scrollTop()
});

这是example