我无法理解这个问题,所以我不得不问。我正在尝试在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主题系统之上,我想知道是否有某些内容。
有没有人有任何想法?这让我疯了。
答案 0 :(得分:2)
好的,这看起来像一个webkit问题。通过指定
html, body { height: 100%; }
它将'高度'限制在窗户的高度。所以scrollTop(x)
永远不会奏效。如果您修改CSS不包含这些声明,一切都会再次起作用。另一种解决方法是将您的身体内容放在可滚动的div中,然后滚动它。我想说这是一个webkit bug,因为这种行为似乎很奇怪。你可以通过向下滚动窗口看一下自己。然后查询所有内容的当前scrollTop值,它始终为零! body,html,document,window,div #top等等。