滑动翻页是一种常见的网页交互效果,它允许用户通过滑动屏幕或鼠标滚轮来切换页面内容。以下是关于滑动翻页JavaScript的基础概念、优势、类型、应用场景以及常见问题及解决方法。
滑动翻页通常涉及以下几个核心概念:
以下是一个简单的垂直滑动翻页示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>滑动翻页示例</title>
<style>
body, html { height: 100%; margin: 0; overflow: hidden; }
.page { height: 100%; display: flex; align-items: center; justify-content: center; font-size: 2em; }
#page1 { background-color: #fdd; }
#page2 { background-color: #dfd; }
#page3 { background-color: #ddf; }
</style>
</head>
<body>
<div id="page1" class="page">Page 1</div>
<div id="page2" class="page">Page 2</div>
<div id="page3" class="page">Page 3</div>
<script>
let currentPage = 1;
const pages = document.querySelectorAll('.page');
const totalPages = pages.length;
function scrollToPage(pageNumber) {
const offset = -pageNumber * window.innerHeight;
window.scrollTo({ top: offset, behavior: 'smooth' });
currentPage = pageNumber;
}
window.addEventListener('wheel', (event) => {
event.preventDefault();
if (event.deltaY > 0 && currentPage < totalPages) {
scrollToPage(currentPage + 1);
} else if (event.deltaY < 0 && currentPage > 1) {
scrollToPage(currentPage - 1);
}
});
</script>
</body>
</html>
requestAnimationFrame
进行动画处理,减少DOM操作。smoothscroll-polyfill
来确保跨浏览器兼容性。通过以上方法,可以有效实现并优化滑动翻页功能,提升用户体验。
领取专属 10元无门槛券
手把手带您无忧上云