上拉导航菜单(Pull-up Navigation Menu)是一种常见的网页设计元素,它允许用户通过向上滑动屏幕来显示隐藏的导航菜单。这种设计通常用于移动设备上,以节省屏幕空间并提供更好的用户体验。
以下是一个简单的JavaScript和CSS实现的上拉导航菜单示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Pull-up Navigation Menu</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<header class="navbar">
<nav class="menu">
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#services">Services</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</nav>
</header>
<main class="content">
<!-- 页面主要内容 -->
</main>
<script src="script.js"></script>
</body>
</html>
/* styles.css */
body, html {
margin: 0;
padding: 0;
height: 100%;
overflow: hidden;
}
.navbar {
position: fixed;
top: 0;
width: 100%;
background-color: #333;
transition: transform 0.3s ease-in-out;
transform: translateY(-100%);
}
.menu ul {
list-style-type: none;
padding: 0;
margin: 0;
display: flex;
justify-content: space-around;
}
.menu ul li a {
color: white;
text-decoration: none;
padding: 15px;
display: block;
}
.content {
padding-top: 60px;
}
// script.js
document.addEventListener('DOMContentLoaded', function() {
const navbar = document.querySelector('.navbar');
let startY = 0;
let currentY = 0;
document.addEventListener('touchstart', function(event) {
startY = event.touches[0].clientY;
});
document.addEventListener('touchmove', function(event) {
currentY = event.touches[0].clientY;
const diff = currentY - startY;
if (diff > 0 && navbar.style.transform === 'translateY(-100%)') {
navbar.style.transform = `translateY(0)`;
} else if (diff < 0 && navbar.style.transform === 'translateY(0)') {
navbar.style.transform = `translateY(-100%)`;
}
});
});
通过以上步骤和代码示例,您可以实现一个基本的上拉导航菜单,并根据需要进行调整和优化。
没有搜到相关的沙龙