场景:初始化默认不展示该按钮,当页面滑动超300px之后展现出按钮,点击返回顶部的效果
html
<div class="back_to_top">顶</div>
css
.back_to_top{
position: fixed;
right: 10px;
bottom: 10%;
transform: translateY(50%);
z-index: 9;
background-color: #F7F9FA;
box-shadow: -2px 0 5px 2px rgba(97, 105, 119, 0.18);
border-radius: 30px;
width: 60px;
height: 60px;
line-height: 60px;
text-align: center;
cursor: pointer;
}
// 返回顶部
let backToTopBtn = document.querySelector('.back_to_top');
backToTopBtn.style.display = 'none';
window.addEventListener('scroll', () => {
if (window.scrollY > 300 || document.documentElement.scrollTop > 300) {
backToTopBtn.style.display = 'block';
} else {
backToTopBtn.style.display = 'none';
}
});
backToTopBtn.addEventListener('click', (e) => {
e.preventDefault();
window.scrollTo({
top: 0,
behavior: 'smooth'
});
});