【发布时间】:2014-08-18 17:12:57
【问题描述】:
编辑:问题似乎出在我的 CSS 中的 background-size: cover; 上。现在正在谷歌上寻找补救措施...
这是网站:bitco.tk
当您单击顶部导航菜单中的链接时,它应该动画并向下滚动到元素。
它在 FF、IE 和 Safari 中运行良好,但在 chrome 中它非常滞后/不稳定。这是代码:
$(document).ready(function() {
$('.restLoc').on('click', function(e) {
e.preventDefault();
$("html, body").stop().animate({ scrollTop: ($('#locInfo').offset().top) -60 }, 'slow');
});
$('.restMenu').on('click', function(e) {
e.preventDefault();
$("html, body").stop().animate({ scrollTop: ($('#mList').offset().top) -60 }, 'slow');
});
$('.restName').on('click', function(e) {
e.preventDefault();
$("html, body").stop().animate({ scrollTop: 0 }, "fast");
});
});
我在没有e.preventDefault 和.stop() 的情况下尝试过,但没有任何区别。
我该如何解决?
【问题讨论】:
-
我会看看这个,谢谢你的回复。
-
@Brunis 你如何在css中做scrollTop? scrollTop 不是 css 属性,不能动画。无论如何,并不是所有的 css3 转换都是硬件加速的。我推荐GreenSock。它是一个用于硬件加速 javascript 转换的插件。 greensock.com
-
令人印象深刻的页面加载 BTW。几乎是瞬间。
-
@Marcel 谢谢,我会检查一下。
-
@Marcel 啊,是的,这是一个 dom 属性,我的错 :(
标签: javascript jquery google-chrome scrolltop