Smoothscroll.js 在 Opera 上阻止滚动,但如果移除会破坏粘性 header

Smoothscroll.js blocking scroll on opera but if removed breaks sticky header

抱歉,如果之前已经解决了这个问题,我查看了但找不到解决方案。我对jQuery很陌生,通常依赖于模板的功能。

问题: 1- smoothscroll.js 在 Opera 中中断滚动。 2- 摆脱它修复了 Opera 中的滚动,但在所有浏览器中打破了粘性 header 3- 我拥有的 Smoothscroll 版本不是最新的。一旦我将它更新到最新版本,滚动在 Opera 中得到修复,但粘性 header 仍然中断

以下是 link: 没有 link 平滑滚动:http://econocard.ca/demo/no-smoothscroll.html

使用模板的默认平滑滚动:/demo/smoothscroll-enabled.html

使用最新的 smoothscroll:demo/smoothscroll-latest.html

我没有 smoothscroll 没问题,它似乎有错误而且一般来说是不必要的,但我需要修复粘滞 header。

无论出于何种原因,Opera 都存在问题,未将 style="height: auto;" 添加到 <html> 元素。所有其他浏览器都通过一些未知脚本自动执行此操作。我试着追踪哪个函数在应用它,但它一点也不明显。

这里有一些解决方法可以解决这个问题:

  1. 在页面底部添加一个脚本,手动添加这些样式(可能是最佳解决方案):

     <script>
      $( document ).ready(function() {
         $('html').css({"height": "auto"});
      })
     </script>
    
  2. 删除 CSS 条目 (style.css:70),它将 100% 的固定高度应用于 <html> 元素(这肯定会解决问题,但可能导致您的预加载器动画出现其他问题)。

    html,
    body {
      width: 100%;
      overflow-x: hidden;
    }
    

Css 解决方案运行完美,没有预加载器问题。

html,
body {
  width: 100%;
  overflow-x: hidden;
}

谢谢!