javascript - 当 css 样式为高度 : 100%; and overflow: scroll; 时检测滚动及其方向

标签 javascript css

我的用于在向下滚动页面时隐藏导航菜单按钮并在向上滚动时显示导航菜单按钮的 JavaScript 无法与 css hack 一起使用,以防止当菜单显示在图层上时页面在后台滚动。 (这里是 css 方法演示页面:http://www.luxiyalu.com/playground/overlay/)

我的 JavaScript 很烂。我尝试修改脚本 - 使用 element.scrollWidth 和 element.offsetWidth 关系使其工作以检测滚动但无法确定它。

<div class="overlay">
    <div class="overlay-content"></div>
</div>

<div class="background-content">
    lengthy content here
</div>
html, body {
    height: 100%;
}

.overlay{
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background-color: rgba(0, 0, 0, 0.8);

    .overlay-content {
        height: 100%;
        overflow: scroll;
    }
}

.background-content{
    height: 100%;
    overflow: auto;
}
    <script type="text/javascript">
    var prevScrollpos = window.pageYOffset;
    window.onscroll = function() {
        var currentScrollPos = window.pageYOffset;
        if (prevScrollpos > currentScrollPos) {
        document.getElementById("mobilemenu").style.top = "0";
        } else {
            document.getElementById("mobilemenu").style.top = "-70px";
                }
    prevScrollpos = currentScrollPos;
    }
    </script>-->

菜单按钮应在向下滚动时隐藏,在向上滚动时应重新出现,而页面的样式如上所示。

最佳答案

编辑:我以为我有,但是刷新缓存后,什么都没有,而且我不能删除帖子,因为某些原因

关于javascript - 当 css 样式为高度 : 100%; and overflow: scroll; 时检测滚动及其方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55931460/

相关文章:

javascript - 利特说话翻译器严重错误

html - 一个 div 覆盖另一个 div

html - 解释为什么空白在这个内联元素中消失了?

html - SASS 中的 BEM 语法

javascript - onclick 事件未触发

javascript - 与命令行客户端交互

javascript - 如何使用 ExtJs 制作一个 100% 高度和宽度的窗口?

javascript - 我如何在 javascript 中转义 Bullet 字符,这样 tomcat 就不会死于 ajax 调用?

html - 选择连续 3 个元素中的每个第二个元素

javascript - jquery .on click 不适用于后来添加的元素