位置: IT常识 - 正文

这几种方法帮你快速实现回到页面顶部(怎样才能帮你)

编辑:rootadmin
背景介绍 当页面内容很多的时候,用户可能会一直往下滑动页面。但是当他想返回页面顶部进行其他操作时,他可能需要不断滚动鼠标滚轮,这就导致用户体验将很差。鉴于这种情况, “回到顶部”这一功能便出现了。 如今在我们浏览网站的时候,常常能遇见“回到顶部”这个按钮。目前主流的回到页面顶部分表现为两种,一种是直 ... 背景介绍

推荐整理分享这几种方法帮你快速实现回到页面顶部(怎样才能帮你),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:怎么去帮助,这几种方法帮你解决问题,教我怎么帮助,几种方法帮你消除口臭,这几种方法帮你解决问题,这几种方法帮你做事,这几种方法帮你做事,这几种方法帮你做事,内容如对您有帮助,希望把文章链接给更多的朋友!

当页面内容很多的时候,用户可能会一直往下滑动页面。但是当他想返回页面顶部进行其他操作时,他可能需要不断滚动鼠标滚轮,这就导致用户体验将很差。鉴于这种情况, “回到顶部”这一功能便出现了。

如今在我们浏览网站的时候,常常能遇见“回到顶部”这个按钮。目前主流的回到页面顶部分表现为两种,一种是直接回到页面的顶部,这种方式简单粗暴;另外一种则是自动滚动间接回到页面顶部,这样一来视觉体验上可能更好,但是用户需要过几秒才能看到顶部内容。

例如掘金,在滚动到一定高度时会出现“回到顶部”按钮,点击后会直接回到页面顶部,就是上文说到的第一种情况。

实现动态显示滚动按钮这几种方法帮你快速实现回到页面顶部(怎样才能帮你)

“回到顶部”并不是一直显示的,而是滚动到一定值才出现的,因此应该在window.onscroll里定义一个判断事件。

window.onscroll = function () { var currentHeight = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop; // 页面滚动超过300px就显示 if (currentHeight > 300) { document.getElementById('backtop').style.display = 'block' } else { document.getElementById('backtop').style.display = 'none' }}直接回到顶部锚点

最简单的方法。给顶部的div一个id,点击直接回到这个div元素,但是URL上会出现#top。

<div id="top"></div>......<a href="#top">回到顶部</a>scrollTo函数

控制滚动条回到指定位置,第一个参数是距离页面左端的距离,第二个参数是距离页面顶部的距离。

<a href="javascript:scrollTo(0, 0)">回到顶部</a>scrollTop函数

控制滚动条垂直偏移。

<a onclick="byScrollTop()">回到顶部</a>......function byScrollTop() { document.documentElement.scrollTop = 0; window.pageYOffset = 0; // 兼容ios document.body.scrollTop = 0; // 兼容低版本ie}scrollBy函数

该方法可把内容滚动指定的像素数。第一个参数指向右滚动的像素,第二个参数指向下滚动的参数,负数可使方向相反。

<a onclick="byScrollBy()">回到顶部</a>......function byScrollBy() { var topHeight = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop; scrollBy(0, -topHeight);}间接回到顶部定时器实现滚动动画

通过定时器实现固定速度的自动滚动动画效果。但是这样会有个问题,就是当页面内容十分多的时候,这个时候离顶部已经有很长一段距离了。如果还是一个固定速度的话,可能会长达10秒钟,这对用户体验来说是不友好的。

<a onclick="scrollToTop()">回到顶部</a>......function scrollToTop() { var topHeight = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop; scrollBy(0, -100); // 模拟鼠标向上滚动事件 scrolldelay = setTimeout('scrollToTop()', 50); // 清除滚动事件,避免无法向下移动 if (topHeight === 0) { clearTimeout(scrolldelay); scrolldelay = null; }}定时器实现滚动动画-改良版

基于上面这个问题,我们可以设置一个速度的最小值,让滚动速度从快到慢,但也不至于过慢。

function scrollToTop() { var topHeight = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop; var speed = topHeight / 10 > 100 ? topHeight / 10 : 100; scrollBy(0, -speed); // 模拟鼠标向上滚动事件 scrolldelay = setTimeout('scrollToTop()', 50); // 清除滚动事件,避免无法向下移动 if (topHeight === 0) { clearTimeout(scrolldelay); scrolldelay = null; }}最终效果

完整代码<style> a { display: block; } #top { height: 2000px; background-color: #999 } #backtop { display: none; position: fixed; bottom: 20px; right: 30px; background-color: #fff; z-index: 9; }</style><body> <div id="top"> 这里是页面顶部 </div> <div id="backtop"> <a href="#top">回到顶部-锚点</a> <a href="javascript:scrollTo(0, 0)">回到顶部-scrollTo函数</a> <a onclick="byScrollTop()">回到顶部-scrollTop函数</a> <a onclick="byScrollBy()">回到顶部-scrollBy函数</a> <a onclick="scrollToTop()">回到顶部-定时器动画版</a> </div> <script> window.onscroll = function () { var currentHeight = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop; console.log(currentHeight, "currentHeight"); if (currentHeight > 300) { document.getElementById('backtop').style.display = 'block' } else { document.getElementById('backtop').style.display = 'none' } } function byScrollTop() { document.documentElement.scrollTop = 0; window.pageYOffset = 0; // 兼容ios document.body.scrollTop = 0; // 兼容低版本ie } function byScrollBy() { var topHeight = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop; scrollBy(0, -topHeight); } function scrollToTop() { var topHeight = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop; var speed = topHeight / 10 > 100 ? topHeight / 10 : 100; scrollBy(0, -speed); // 模拟鼠标向上滚动事件 scrolldelay = setTimeout('scrollToTop()', 50); // 清除滚动事件,避免无法向下移动 if (topHeight === 0) { clearTimeout(scrolldelay); scrolldelay = null; } } </script></body>
本文链接地址:https://www.jiuchutong.com/zhishi/304086.html 转载请保留说明!

上一篇:电脑学习网强推wordpress专业缓存插件Redis Object Cache Pro对象缓存专业授权版傻瓜化使用教程(网上学电脑的软件)

下一篇:python中getopt模块是什么(python getpass模块)

  • 抖音哪里可以看访客记录(抖音哪里可以看注册时间)

    抖音哪里可以看访客记录(抖音哪里可以看注册时间)

  • 怎样删掉火山直播消息记录(怎样删掉火山直播的广告)

    怎样删掉火山直播消息记录(怎样删掉火山直播的广告)

  • 苹果x有锁版什么意思(有锁的苹果x)

    苹果x有锁版什么意思(有锁的苹果x)

  • 电脑屏幕自己变大怎么办(电脑屏幕自己变黑)

    电脑屏幕自己变大怎么办(电脑屏幕自己变黑)

  • 华为手机退货退款规定(华为手机退货退到哪里)

    华为手机退货退款规定(华为手机退货退到哪里)

  • 微信相机美颜设置方法是什么(微信相机美颜设置方法)

    微信相机美颜设置方法是什么(微信相机美颜设置方法)

  • 华为运动健康本次请求无效(华为运动健康本次请求无效请确认是否具有权限)

    华为运动健康本次请求无效(华为运动健康本次请求无效请确认是否具有权限)

  • 数据加载失败是什么意思(数据加载失败是啥意思)

    数据加载失败是什么意思(数据加载失败是啥意思)

  • iqooneo3有无线充电吗(iqooneo3有没有无线充电)

    iqooneo3有无线充电吗(iqooneo3有没有无线充电)

  • 开启nfc功能是指什么(开启nfc功能是指什么意思)

    开启nfc功能是指什么(开启nfc功能是指什么意思)

  • 怎样发图片加文字到朋友圈(怎样发图片加文字微信)

    怎样发图片加文字到朋友圈(怎样发图片加文字微信)

  • 钉钉作业被打回会显示什么(钉钉作业被打回什么意思)

    钉钉作业被打回会显示什么(钉钉作业被打回什么意思)

  • 淘宝换绑支付宝身份不一致(淘宝换绑支付宝条件)

    淘宝换绑支付宝身份不一致(淘宝换绑支付宝条件)

  • 雅达电子是苹果原装吗(雅达电子是苹果的吗)

    雅达电子是苹果原装吗(雅达电子是苹果的吗)

  • 撤回的快捷键是什么(返回键怎么调出来)

    撤回的快捷键是什么(返回键怎么调出来)

  • jpeg不是用于什么的编码(jpeg属于jpg格式吗)

    jpeg不是用于什么的编码(jpeg属于jpg格式吗)

  • qq同城群什么意思(qq同城群和普通群有什么区别)

    qq同城群什么意思(qq同城群和普通群有什么区别)

  • 魅族手机充电慢怎么办(魅族手机充电慢耗电快)

    魅族手机充电慢怎么办(魅族手机充电慢耗电快)

  • 目前音频卡具有什么功能(目前音频卡具有以下什么功能)

    目前音频卡具有什么功能(目前音频卡具有以下什么功能)

  • 苹果手机放歌没声音怎么回事(苹果手机放歌没声音喇叭那里有个剪刀是什么意思)

    苹果手机放歌没声音怎么回事(苹果手机放歌没声音喇叭那里有个剪刀是什么意思)

  • 苹果x隐藏照片在哪儿(苹果x隐藏照片怎么设密码)

    苹果x隐藏照片在哪儿(苹果x隐藏照片怎么设密码)

  • 抖音点亮啥意思(抖音点亮2021在哪)

    抖音点亮啥意思(抖音点亮2021在哪)

  • 三星手机如何显示转接来电(三星手机如何显示来电号码归属地)

    三星手机如何显示转接来电(三星手机如何显示来电号码归属地)

  • qq巨轮是单向还是双向(qq巨轮是只有一个吗)

    qq巨轮是单向还是双向(qq巨轮是只有一个吗)

  • olte怎么关闭(华为高清通话volte怎么关闭)

    olte怎么关闭(华为高清通话volte怎么关闭)

  • 爱玛小蜜豆充电口在哪(爱玛小蜜豆充电器头是什么样子的)

    爱玛小蜜豆充电口在哪(爱玛小蜜豆充电器头是什么样子的)

  • 苹果手机下载的视频在哪里可以看(苹果手机下载的app图标隐藏了怎么弄出来)

    苹果手机下载的视频在哪里可以看(苹果手机下载的app图标隐藏了怎么弄出来)

  • 企业计提印花税会计处理
  • 中国注册税务师报考条件
  • 纳税人证明模板
  • 以前年度费用退回怎么做账
  • 不入库的商品怎么做分录
  • 研发费用辅助账谁来做
  • 普通发票需要进项税额转出吗
  • 收到发票付款是抹了零头怎么做账
  • 人工材料成本怎么分配
  • 私人转公账可以吗
  • 营改增后转让土地使用权
  • 代开专票退票流程及说明
  • 代开的专票开错了怎么办?
  • 滴滴客运服务费免税
  • 进口是关税不得抵扣吗?
  • 关于增值税若干问题的探讨
  • 合同无效后还能主张违约责任吗
  • 如何理解“占应纳税额10%以上”?
  • 发票没有存根联怎么办
  • 购货方收到代垫运费的发票怎么做会计分录?
  • 增值税普票当月开错了怎么办
  • 进口商品关税调整
  • 园林绿化工程公司电话
  • 跨境电商小规模与一般纳税人
  • mac版chrome浏览器无法上网
  • PHP:oci_pconnect()的用法_Oracle函数
  • 服务器数据迁移到新的服务器
  • 苹果电脑进入安全模式按什么键
  • 辛华达瀑布,加拿大贾斯珀国家公园 (© Schroptschop/Getty Images)
  • wordpress调试模式
  • 黄喉蜂虎鸟是保护动物吗
  • 报废汽车残值收入如何计税
  • 房屋租赁费发票备注栏需要写什么?
  • 存货捐赠视同销售的会计分录怎么做?
  • php操作excel
  • 老老实实的人
  • 微信利用php创建文件
  • df -th命令
  • 处理二手物品要交增值税吗
  • 结转结余的概念
  • 项目资金支付
  • dedecms使用教程
  • vue this.$ref
  • MySQL中Nested-Loop Join算法小结
  • php网站根目录
  • 固定资产二级科目装修
  • 医院交什么保险
  • 折旧费和折旧额的区别
  • 水利基金可以不计提吗
  • 普通增值税发票会计科目如何写?
  • 增值税附加申报表怎样填小规模
  • c#调用excel
  • 预收账款挂账多长时间必须确认收入
  • 如何办理出口收款凭证
  • 小企业营业外支出的内容
  • 投资收益期末余额在借方还是贷方
  • 结汇时和月底结转汇兑损益
  • 投资者投入无形资产的入账价值
  • sql server的使用方法
  • w10的产品密钥
  • easybcd修复ubuntu
  • 电脑提示Windows照片查看器无法打开此图片
  • windows么
  • centos如何添加监听端口
  • win7系统硬盘
  • 电脑windows8怎么样
  • wind10应用商店
  • html+css网站设计基础教程
  • Android 使用的字体
  • bootstrap怎么学
  • node 多线程
  • django modelform
  • 跨浏览器插件
  • js封装是什么意思
  • 浅谈python 四种数值类型(int,long,float,complex)
  • 车船税每年都是300怎么变成600
  • 增值税税控开票软件升级
  • 新疆皮山县概况
  • 河南省纳税服务平台
  • 被审计了意味着什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设