jQuery 是一个快速、小巧且功能丰富的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。上下滚动隐藏显示导航条是一种常见的网页交互效果,通常用于提升用户体验,使页面内容更加突出。
这种效果广泛应用于各种网站,特别是内容较多的页面,如新闻网站、博客、电商网站等。
以下是一个简单的示例代码,展示如何使用 jQuery 实现上下滚动隐藏显示导航条:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Scroll Hide/Show Navbar</title>
<style>
body {
height: 2000px;
margin: 0;
padding: 0;
}
.navbar {
position: fixed;
top: 0;
width: 100%;
background-color: #333;
color: white;
padding: 10px 0;
transition: top 0.3s;
}
.navbar.hidden {
top: -60px;
}
</style>
</head>
<body>
<div class="navbar">
<h1>My Navbar</h1>
</div>
<div class="content">
<!-- Your content goes here -->
</div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
var lastScrollTop = 0;
$(window).scroll(function() {
var currentScroll = $(this).scrollTop();
if (currentScroll > lastScrollTop) {
// Scrolling down
$('.navbar').addClass('hidden');
} else {
// Scrolling up
$('.navbar').removeClass('hidden');
}
lastScrollTop = currentScroll;
});
});
</script>
</body>
</html>
function debounce(func, wait) {
var timeout;
return function() {
var context = this, args = arguments;
clearTimeout(timeout);
timeout = setTimeout(function() {
func.apply(context, args);
}, wait);
};
}
$(window).scroll(debounce(function() {
var currentScroll = $(this).scrollTop();
if (currentScroll > lastScrollTop) {
$('.navbar').addClass('hidden');
} else {
$('.navbar').removeClass('hidden');
}
lastScrollTop = currentScroll;
}, 200));
.navbar
的 position
设置为 fixed
,并且 top
属性初始值为 0
。通过以上方法,可以有效地实现上下滚动隐藏显示导航条的效果,并解决可能遇到的问题。
没有搜到相关的文章