基于JavaScript实现回到页面顶部动画代码
作者:daisykoo 发布时间:2024-05-25 15:17:28
标签:js,页面,顶部
最近做的都是前端的项目,很多项目都有回到顶部的需求,下面把我写js代码做个笔录,方便以后查找。
发现还可以添加从快到慢的动画效果和随时下拉滚动条停止滚动的功能, 参考了imooc上相关课程,最终实现JS代码如下:
//页面加载后触发
window.onload = function(){
var btn = document.getElementById('btn');
var timer = null;
var isTop = true;
//获取页面可视区高度
var clientHeight = document.documentElement.clientHeight;
//滚动条滚动时触发
window.onscroll = function() {
//显示回到顶部按钮
var osTop = document.documentElement.scrollTop || document.body.scrollTop;
if (osTop >= clientHeight) {
btn.style.display = "block";
} else {
btn.style.display = "none";
};
//回到顶部过程中用户滚动滚动条,停止定时器
if (!isTop) {
clearInterval(timer);
};
isTop = false;
};
btn.onclick = function() {
//设置定时器
timer = setInterval(function(){
//获取滚动条距离顶部高度
var osTop = document.documentElement.scrollTop || document.body.scrollTop;
var ispeed = Math.floor(-osTop / 7);
document.documentElement.scrollTop = document.body.scrollTop = osTop+ispeed;
//到达顶部,清除定时器
if (osTop == 0) {
clearInterval(timer);
};
isTop = true;
},30);
};
};
以上内容是小编给大家介绍的基于JavaScript实现回到页面顶部动画代码,代码简单易懂,所有没给大家附太多的注释,如果大家在参考过程中发现有任何疑问欢迎给我留言,小编会及时回复大家的!


猜你喜欢
- 先有个一名为student的关系,其字段以及元组如图所示:为了保持数据的一致性,现在需要将sname的多余空格去除,以及将所有的snativ
- php文件 <?php class xpathExtension{ public static function getNodes($
- 前言例如,当使用pandas读取csv文件时,如果元素为空,则将其视为缺失值NaN(非数字)。使用dropna()方法删除缺失值,使用fil
- Flask是一个Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务。本文参考自Flask官方文档,
- python使用super()出现错误解决办法当我们在python的子类中调用父类的方法时,会用到super(),不过我遇到了一个问题,顺便
- 以这两个域名为例:http://www.knowsky.com/http://code.knowsky.com/这两个域名都是绑在同一个空间
- 表级锁该锁会锁定整张表,它是MySQL中最基本的锁策略,并不依赖于存储引擎(不管你是MySQL的什么存储引擎,对于表锁的策略都是一样的),并
- 和获取网页上的信息不同,想要进行模拟登录还需要向服务器发送一些信息,如账号、密码等等。模拟登录一个网站大致分为这么几步:1.先将登录网站的隐
- 1、二进制数、八进制数、十六进制数转十进制数 有一个公式:二进制数、八进制数、十六进制数的各位数字分别乖以各自的基数的(N-1)次方,其和相
- python类中定义的函数称为方法, init ()方法本质也是一个函数。这个函数的作用是初始化实例后的对象。具体如下例:init
- 本文实例讲述了Python实现简单的多任务mysql转xml的方法。分享给大家供大家参考,具体如下:为了需求导出的格式尽量和navicat导
- 本文实例讲述了Laravel框架实现定时发布任务的方法。分享给大家供大家参考,具体如下:背景:需要每隔一小时新建一个任务http://lar
- 如下所示:# 方法一:%a = "hello"b = "world!"print("你好,
- 前言fixture是在测试函数运行前后,由pytest执行的外壳函数。fixture中的代码可以定制,满足多变的测试需求,包括定义传入测试中
- 本文实例讲述了Python使用matplotlib实现的图像读取、切割裁剪功能。分享给大家供大家参考,具体如下:# -*- coding:u
- 我设了两个SESSION:SESSION(A1),SESSION(A2),然后我现在想结束其中一个SESSION(如:ESEEION(A1)
- 导语:使用 python-plotly 模块来进行压测数据的绘制,并且生成静态 html 页面结果展示。不少小伙伴在开发过程中都有对模块进行
- 目录元组1.什么是元组tuple2.元组tuple支持什么数据类型3.元组tuple的基本特征4.如何声明一个元组tuple5.玩转元组tu
- 前言MySQL是一个高速度、高性能、多线程、开放源代码,建立在客户/服务器(Client/Server)结构上的关系型数据库管理系(RDBM
- 忘了在哪看到一位编程大牛调侃,他说程序员每天就做两件事,其中之一就是处理字符串。相信不少同学会有同感。几乎任何一种编程语言,都把字符串列为最