本文将详细讲解如何构建一个类似饿了么点餐应用的左侧滑动菜单,并实现菜单在滚动时固定于屏幕顶部的效果,提升用户体验。
目标效果包含以下关键特性:
<!-- 右侧内容区域 -->这是一个很长的内容区域,用于测试菜单固定效果。
...
.container { display: flex; } .left-menu { width: 100px; background-color: #f0f0f0; overflow-y: auto; /* 允许垂直滚动 */ } .left-menu ul { list-style: none; padding: 0; margin: 0; } .left-menu li { padding: 10px; border-bottom: 1px solid #ddd; } .right-content { flex-grow: 1; padding: 20px; } .fixed-menu { position: fixed; top: 0; width: 100px; background-color: #f0f0f0; z-index: 100; /* 确保菜单位于其他内容之上 */ }
window.addEventListener('scroll', function() { const leftMenu = document.querySelector('.left-menu'); const menuRect = leftMenu.getBoundingClientRect(); if (menuRect.top <= 0) { leftMenu.classList.add('fixed-menu'); } else { leftMenu.classList.remove('fixed-menu'); } });
上述代码实现了一个基本的左侧菜单滑动和固定效果。当页面滚动时,左侧菜单会在到达顶部时自动固定,提供更好的用户体验。
为了更精细地控制效果,可以考虑以下优化:
通过以上步骤,您可以轻松创建类似饿了么点餐应用的左侧菜单,并提升应用的用户体验。 记住根据实际需求调整CSS样式和JavaScript逻辑。