繁体   English   中英

滚动时始终不显示Javascript中的Chaser菜单

[英]Chaser Menu in Javascript Doesn't Show When Scrolled, Always Hidden

我正在尝试创建一个追踪器菜单(当窗口向下滚动时显示)。

我收到了此代码,并尝试将其复制粘贴到我的网站中。

$(function ($) {
//////////////////////////////////////////////////////////////////////////
////// START - CODE FOR LOADING THE TOP MENU CHASING BAR
//////////////////////////////////////////////////////////////////////////

    var doc = $(document), win = $(window), chaser, forch,
        forchBottom, visible;
    function shown() {
        visible = true;
    }
    function hidden() {
        visible = false;
    }
    chaser = $('.rt-menubar.fusionmenu').clone().hide().appendTo(document.body).wrap("<div class='chaser'></div>");
    forch = $('.forchaser').first();
    forchBottom = forch.height() + forch.offset().top;
    hidden();
    win.bind('scroll', function () {
        var top = doc.scrollTop();
        if (!visible && top > forchBottom) {
            chaser.slideDown(300, shown);
        } else if (visible && top < forchBottom) {
            chaser.slideUp(200, hidden);
        }
    });
});

这是我得到的结果:

<div class="rt-menubar fusionmenu" style="display: none;">
//code of list menu
</div>

问题是,无论我如何滚动窗口滚动条,始终将其设置为“显示:无”,而不是“显示:块”。 因此它总是隐藏的。

如果我在追逐程序变量代码中消除了hide()函数,可以执行以下操作:

chaser = $('.rt-menubar.fusionmenu').clone().appendTo(document.body).wrap("<div class='chaser'></div>");

追逐器菜单出现,并且工作正常。 但是,这不是我想要的。 我希望追踪器菜单隐藏在页面顶部,并在向下滚动窗口时显示。

如何解决这个问题?

感谢您的帮助!

找到了答案!

我忘了说:

<div class="forchaser"></div>

在主体区域的某个地方。 这是给一个标记作为起点,您将显示追逐器菜单。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM