【问题标题】:Restrict a link tag with fadeIN function to have the smoothscroll effect使用 fadeIN 函数限制链接标签以具有平滑滚动效果
【发布时间】:2012-05-14 07:32:20
【问题描述】:

当单击a 标记(导航)时,我有一个具有平滑滚动效果的单页网站,其中一个导航条目还调用了具有fadeIN 功能的隐藏div(input.box),我的问题是每当该条目用fadeIN函数显示,页面也向下滑动了一点。我应该如何限制这个带有淡入淡出功能的菜单也不能滚动?我的 jsfiddle 波纹管上有用于平滑滚动和淡入淡出的代码。

Smooth Scroll Code

FadeIN Effect Code

【问题讨论】:

    标签: jquery fadein smooth-scrolling


    【解决方案1】:

    平滑滚动代码的以下部分选择要应用效果的元素:

    $('a[href*=#]')
    

    您需要限制它以排除打开弹出窗口的锚。执行此操作的方法取决于您如何识别要排除的元素:

    $('a[href*="#"]:not(a[href="#info"])')
    

    $('a[href*="#"]:not(.info-popup)')
    

    人们也可能会争辩说,如果条件相反会更整洁,因此需要主动选择应该针对平滑滚动的元素,而不是过滤掉:

    $('a.page-nav')
    

    【讨论】:

    • 感谢您的关注。我在发布之前已经尝试了你的最后一个例子,但遗憾的是它没有成功。已经尝试过你的第一个和第二个都没有。我会错过平滑滚动代码的内容吗?再次感谢。
    • 渐变的 div 实际上并不能平滑滚动,它只是向下跳了一点。
    • @jmc:哦,根据您的最后一条评论,看起来平滑滚动效果实际上并未应用于该元素。我认为接下来会发生什么是锚导航到您的哈希,这解释了跳跃的外观。您需要做的只是在打开弹窗后在锚点的点击监听器中return false;,这样浏览器就不会跟随锚点到它的href
    猜你喜欢
    • 2013-06-21
    • 2012-02-26
    • 1970-01-01
    • 2018-05-16
    • 2019-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-14
    相关资源
    最近更新 更多