【问题标题】:localscroll's hash option, flickers the page when scrolling. How can I make the scrolling smoothlocalscroll 的 hash 选项,滚动时会闪烁页面。如何使滚动平滑
【发布时间】:2010-02-22 07:41:46
【问题描述】:

我正在实现一个 jquery 插件 (localscroll) 以平滑滚动到带有页面的命名锚元素。 localscroll 支持一个名为“hash”的选项,它的基本作用是将命名的锚点哈希附加到 URL 中,使用户可以轻松地使用浏览器的后退/前进按钮添加书签和移动。


HTML

<ul id="navigation" class="main_menu">
    <li><a href="#panel_home">Home</a></li>
    <li><a href="#panel_story">Story</a></li>
    <li><a href="#panel_mantra">Mantra</a></li>
    <li><a href="#panel_showcase">Showcase</a></li>
    <li><a href="#panel_experience">Experience Us</a></li>
</ul>

Javascript (jquery)

$(document).ready(function () {
    $("#navigation").localScroll({
        offset: {left: 0, top: -56},
        hash: true,
        easing: 'easeInOutExpo'
     });
});

上面的代码运行良好,但是每当点击链接时,滚动就会开始闪烁(可能是因为浏览器的默认行为是跳转到指定的锚点)。这种闪烁的东西在 Firefox 中比 Chrome 或 Safari 更明显,并且是一个很大的 NO-NO。如何使用反映当前命名锚的地址栏使过渡平滑?任何帮助深表感谢。谢谢!

【问题讨论】:

  • From blog:: Hash 选项在滚动溢出元素时不太酷,主要推荐在滚动窗口时使用。所以页面不应该跳转,因为hash(它是在动画末尾添加的)
  • @Juraj 我已阅读文档。有没有其他方法(使用 Javascirpt)来散列?

标签: javascript jquery jquery-plugins


【解决方案1】:

我发现为什么我的页面在单击使用 localscroll 映射的链接时闪烁。我在 localscroll.js 文件之后包含了 jquery.js 文件,这导致了这种奇怪的行为。因此,我将我在脚本中使用的所有 jquery、localscroll、easing 和其他 javascript 的缩小版本包含在一个 .js 文件中,这解决了问题。

【讨论】:

    猜你喜欢
    • 2012-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-20
    相关资源
    最近更新 更多