回到顶部带动画

Posted pxxdbk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了回到顶部带动画相关的知识,希望对你有一定的参考价值。

// 获取元素
var bodyTop = document.getElementById("top");
// 回到顶部的按钮
var totop = document.getElementById("totop");
// top 是window自带的一个属性,此属性是只读的。此属性默认是window对象
// 当拖动滚动条的时候执行
window.onscroll = function () {
var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
//1 当拖动滚动条的时候,当内容滚动出去 10px的时候,改变top的高度,并且显示回到顶部按钮
if (scrollTop > 10) {
// 改变top
bodyTop.className = ‘header fixed‘;
// 显示回到顶部
totop.style.display = ‘block‘;
} else {
// 改变top
bodyTop.className = ‘header‘;
// 显示回到顶部
totop.style.display = ‘none‘;
}
}

//2 当点击回到顶部按钮的时候,动画的方式,回到最上面,让滚动距离为0
var timerId = null;
totop.onclick = function () {
if (timerId) {
clearInterval(timerId);
timerId = null;
}
timerId = setInterval(function () {
// 步进 每次移动的距离
var step = 10;
// 目标位置
var target = 0;
// 获取当前位置
var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
var current = scrollTop;
if (current > target) {
step = -Math.abs(step);
}
// 判断当前是否到达目标位置
if (Math.abs(current - target) <= Math.abs(step)) {
clearInterval(timerId);
document.body.scrollTop = target;
document.documentElement.scrollTop = target;
return;
}

current += step;
document.body.scrollTop = current;
document.documentElement.scrollTop = current;
}, 5);
}

以上是关于回到顶部带动画的主要内容,如果未能解决你的问题,请参考以下文章

测试基础

js要怎么实现回到顶部?

Vue点击按钮回到顶部

前端点击回到当前页顶部

笔记本电脑,如何一下子回到顶部?

JS 回到顶部