滚动到页面 jquery 上的元素 - html,body 拒绝滚动
我无法理解这个问题,所以我必须问。我正在尝试在单击事件上执行一个非常简单的 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 主题系统之上工作,我想知道其中是否有什么东西。
有人有什么想法吗?这让我抓狂。
I cannot understand this problem so I have to ask. I'm trying to do a very simple jQ scroll to element on a click event. I've successfully build the same function before on a different page.
$('li.newsmenu a').click(function() {
$('html, body').animate({scrollTop: $('section#news').offset().top});
return false;
});
My selectors are both fine.
I've tested the click event and it will give me an alert('like this');
In the console the $('section#news').offset().top value returns a sensible 717.
I've tested in Chrome & Safari with no success.
I'm working on top of someone else's work and on top of the HTML5 boilerplate Wordpress theme system and I wonder if there is something in that.
Does anyone have any ideas? This is driving me nuts.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好吧,这看起来像是一个 webkit 问题。通过指定
它,将它们的“高度”限制为窗口的高度。所以
scrollTop(x)
永远不会起作用。如果你修改你的 CSS 不包含这些声明,一切都会恢复正常。另一种解决方法是将您的正文内容放在可滚动的 div 中,然后滚动它。我想说这是一个 webkit 错误,因为行为看起来很奇怪。您可以通过向下滚动窗口一点来亲自查看它。然后查询所有内容的当前scrollTop值,它始终为零! body、html、document、window、div#top 等。Okay, this looks like a webkit issue. By specifying
it is limiting their 'height' to that of the window. So
scrollTop(x)
never works. If you modify your CSS not to include these declarations everything works again. One other workaround would be to place your body content in a scrollable div and scroll THAT instead. I want to say that this is a webkit bug as the behavior seems bizarre. You can see it for yourself by scrolling down the window a little ways. Then query the current scrollTop value on everything, it's always zero! body, html, document, window, div#top, etc, etc.