位置: 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模块)

  • 高德地图轨迹记录在哪(高德地图轨迹记录回放)

    高德地图轨迹记录在哪(高德地图轨迹记录回放)

  • 苹果手机如何隐藏微信好友发来的信息(苹果手机如何隐藏应用软件)

    苹果手机如何隐藏微信好友发来的信息(苹果手机如何隐藏应用软件)

  • 144hz显示器有必要吗(144hz显示器必须开垂直)

    144hz显示器有必要吗(144hz显示器必须开垂直)

  • 小米手机健康系统在哪里(小米手机健康系统怎么破解)

    小米手机健康系统在哪里(小米手机健康系统怎么破解)

  • 小米9后盖碎了(小米9后盖碎了有必要去修吗)

    小米9后盖碎了(小米9后盖碎了有必要去修吗)

  • 邮箱不能发送文件夹吗(邮箱发文件发不出去)

    邮箱不能发送文件夹吗(邮箱发文件发不出去)

  • qq群视频人数有限制吗(qq群聊视频最多几人)

    qq群视频人数有限制吗(qq群聊视频最多几人)

  • 苹果手机摄像头发烫是什么原因(苹果手机摄像头后面有个小圆孔是什么)

    苹果手机摄像头发烫是什么原因(苹果手机摄像头后面有个小圆孔是什么)

  • vivo手机导航信号弱是什么原因(vivo手机导航显示信号弱怎么回事)

    vivo手机导航信号弱是什么原因(vivo手机导航显示信号弱怎么回事)

  • 苹果手机无征兆关机(苹果手机无征兆关机卡顿)

    苹果手机无征兆关机(苹果手机无征兆关机卡顿)

  • win7飞行模式在哪(windows7飞行模式在哪)

    win7飞行模式在哪(windows7飞行模式在哪)

  • 为什么4g信号满格网速却很差(为什么4g信号满格还卡怎么办)

    为什么4g信号满格网速却很差(为什么4g信号满格还卡怎么办)

  • 荣耀9x性能模式有什么用(荣耀9怎么开启性能)

    荣耀9x性能模式有什么用(荣耀9怎么开启性能)

  • 抖音可以投屏到网络电视上吗?(抖音可以投屏到电视吗)

    抖音可以投屏到网络电视上吗?(抖音可以投屏到电视吗)

  • 苹果pd快充响几声(iphonepd快充响几声)

    苹果pd快充响几声(iphonepd快充响几声)

  • 微机中硬盘连同驱动器属于(硬盘与电脑连接)

    微机中硬盘连同驱动器属于(硬盘与电脑连接)

  • anealoo是什么型号(anol是什么意思)

    anealoo是什么型号(anol是什么意思)

  • 小米8手套模式在哪里设置(小米8手套模式怎么开启)

    小米8手套模式在哪里设置(小米8手套模式怎么开启)

  • 手机怎么约科目一(手机怎样约考科一)

    手机怎么约科目一(手机怎样约考科一)

  • 如何批量制作条形码(批量设置条形图文本)

    如何批量制作条形码(批量设置条形图文本)

  • beatsx耳机左右怎么分

    beatsx耳机左右怎么分

  • 手机相机ev是什么意思(手机相机ev是什么意思的缩写)

    手机相机ev是什么意思(手机相机ev是什么意思的缩写)

  • gt1030显卡可以吃鸡吗(显卡gt10302g够用吗)

    gt1030显卡可以吃鸡吗(显卡gt10302g够用吗)

  • 正在宣泄不满的两只巴布亚企鹅,南极洲 (© Grafissimo/Getty Images)(宣泄不能消除不健康的情绪)

    正在宣泄不满的两只巴布亚企鹅,南极洲 (© Grafissimo/Getty Images)(宣泄不能消除不健康的情绪)

  • 六税两费指的是什么
  • 所得税报表的营业成本包括管理费用吗
  • 跨期两年的发票怎么处理
  • 预缴的税款
  • 购进农产品取得专用发票
  • 弃置费用调整
  • 品种法怎么计算在产品成本
  • 会计学中管理费用属于什么
  • 承兑贴现利息怎么入账
  • etc开了充值发票还可以开消费发票么?
  • 企业销售额达到多少交企业所得税
  • 增值税普通发票和普通发票的区别怎么交税
  • 机械设备增值税税率
  • 个人申请代开普需要资料
  • 如何界定企业所得税的不征税收入与应税收入
  • 当期净资产收益率怎么算
  • 废品损失科目月末
  • 转出多交增值税会计科目
  • 预收的电费增值税如何缴纳?
  • 小规模企业其他业务收入税率
  • 增值税免税标准30万含不含税
  • 城建税有哪些征税项目
  • 利息调整摊销额等于什么
  • 差额增值税计算公式
  • 停薪留职标准
  • kali linux安装kde桌面
  • 腾讯电脑管家帮忙卸载
  • 专用发票的设计流程
  • PHP:mb_ereg_match()的用法_mbstring函数
  • rundll32进程很多
  • PHP:oci_fetch_row()的用法_Oracle函数
  • 出租不动产增值税纳税义务发生时间
  • php多任务
  • 进口应税消费品所支付的金额不包括
  • php分片上传文件
  • 收到外汇货款
  • 坏账损失属于或有事项吗
  • 销售收入和营业收入的关系
  • 公司负担个人所得税如何做账
  • 进项税额加计扣除5%账务处理
  • ecs怎么用
  • 美团平台技术部是干什么的
  • 软件销售收入确认时点
  • 收付实现制的适用范围
  • 所得税汇算清缴怎么操作
  • 限售股算不算账户资产
  • 暂估入库成本的会计分录
  • 当月销售下月开票
  • 不含税转换
  • 公司租用房屋用交房产税吗
  • 应付账款借方余额在资产负债表中怎么列示
  • 客户要扣货款太多怎么处理
  • 免税收入包括哪些项目
  • 福利补贴制度
  • 小企业的建账流程
  • centos cmake安装
  • window系统怎么更新版本
  • 免费获取windows8.1
  • 机箱前面板是哪里
  • popblock.exe
  • 不需要秘密的wifi安全吗
  • Win10系统如何开启全部权限
  • Ubuntu上安装anaconda
  • linux find命令详解xargs
  • u盘安装mac系统
  • avgnt.exe
  • win7免费win10
  • perfom.exe
  • win8如何关闭杀毒软件
  • cocos 2d x
  • css中清除浮动的方法
  • python-flask
  • JS+CSS实现仿雅虎另类滑动门切换效果
  • unity移动
  • 手游 unity
  • js获取
  • 金税全国客服电话
  • 盐城企退人员养老金调整新标准
  • 福建泉州电子税务局
  • 中国进口奶粉关税税率表2019
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设