【问题标题】:scrollTop animate is laggy in chrome but works fine in firefox (background-size: cover issue?)scrollTop 动画在 chrome 中滞后,但在 Firefox 中工作正常(背景大小:封面问题?)
【发布时间】: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


【解决方案1】:

经过大量谷歌搜索后,我发现问题出在 CSS background 属性上。我发现最快的解决方案是 jquery 插件'backstretch'。

【讨论】:

    猜你喜欢
    • 2014-08-12
    • 2016-10-23
    • 2022-01-16
    • 2011-03-03
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 2016-02-28
    • 2014-07-29
    相关资源
    最近更新 更多