网站上有一个菜单 ( <input type="checkbox" id="hmt" class="hidden-menu-ticker">),最初它是隐藏的。用户可以通过按下按钮打开/关闭菜单。假设用户打开了菜单,我需要:
- 如果用户向任一方向滚动页面 100 像素,则应关闭菜单。
- 如果用户单击了菜单块之外的页面上的任何位置,请关闭菜单。
我想出了如何在滚动后显示菜单。但我仍然不知道在滚动一定数量的像素后如何隐藏它。据我了解,我需要将滚动的像素数存储在一个变量中。接下来,如果用户没有用鼠标滚动,我需要重置这个变量,比如说 5 秒。那么如何理解用户当前没有滚动呢?
<script>
window.addEventListener('scroll', function () {
var pixelCount = window.pageYOffset;
if (pixelCount < 300) {document.getElementById("hmt").checked = false;}
if (pixelCount > 300) {document.getElementById("hmt").checked = true;}
})
</script>
提前感谢您的帮助。
这是我将如何做的一个例子: