【问题标题】:Change class on scrolling menu, first click issue在滚动菜单上更改类,首先单击问题
【发布时间】:2015-10-07 15:11:09
【问题描述】:

我希望滚动一页菜单,该菜单在滚动时的高度较小(在某个点之后)。代码如下:

$(document).ready(function () {
    var menu = $('.menuclass');
    $(window).scroll(function () {
        var y = $(this).scrollTop();
        var z = $('.someclass').offset().top;
        if (y >= z) {
            menu.removeClass('nav1').addClass('nav2');
        } else {
            menu.removeClass('nav2').addClass('nav1');
        }
    });
});

类 nav1 的高度为 120px,类 nav2 的高度为 60px

一切正常,除了在第一次滚动(单击)到第一个锚点时,菜单重叠部分的问题就像它仍然具有 120px 高度而不是新类应该具有的 60px 一样。我想脚本已经使用了第一个高度来计算。在第二次滚动时,问题消失了。

如何在脚本中添加 60px 的大小以在脚本第一次激活时进行计数?

【问题讨论】:

  • 小提琴?我们需要查看/调试它

标签: javascript jquery css scroll menu


【解决方案1】:

您能否在小提琴中展示您的代码,包括相关的 CSS 和 HTML? 您发布的 JS 代码应该没有问题。

【讨论】:

  • 类似的东西属于评论区。
【解决方案2】:

这与粘性菜单的sticky.js 脚本有冲突。它在与更改类的脚本相同的 div 上调用。我删除了它,问题消失了。相反,我只使用 css,位置:固定;菜单。

【讨论】:

    猜你喜欢
    • 2022-08-07
    • 1970-01-01
    • 2014-04-26
    • 2019-03-28
    • 2014-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多