滚动到页面上的元素jquery - html,body拒绝滚动

时间:2012-01-26 18:00:31

标签: jquery html5boilerplate

我无法理解这个问题,所以我不得不问。我正在尝试在click事件上执行一个非常简单的jQ滚动到元素。我之前在不同的页面上成功构建了相同的功能。

$('li.newsmenu a').click(function() {
    $('html, body').animate({scrollTop: $('section#news').offset().top});
        return false;
});

我的选择者都很好。

我测试了点击事件,它会给我一个警告('喜欢这个');

在控制台中 $('section#news')。offset()。top 值会返回合理的 717

我在Chrome& Safari没有成功。

我正在处理其他人的工作,并且在HTML5样板文件Wordpress主题系统之上,我想知道是否有某些内容。

有没有人有任何想法?这让我疯了。

1 个答案:

答案 0 :(得分:2)

好的,这看起来像一个webkit问题。通过指定

html, body { height: 100%; } 

它将'高度'限制在窗户的高度。所以scrollTop(x)永远不会奏效。如果您修改CSS不包含这些声明,一切都会再次起作用。另一种解决方法是将您的身体内容放在可滚动的div中,然后滚动它。我想说这是一个webkit bug,因为这种行为似乎很奇怪。你可以通过向下滚动窗口看一下自己。然后查询所有内容的当前scrollTop值,它始终为零! body,html,document,window,div #top等等。