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

  • 拼多多评分多少正常(拼多多评分多少为达标)

    拼多多评分多少正常(拼多多评分多少为达标)

  • ios12.4有没有必要升级(ios12有必要升14吗)

    ios12.4有没有必要升级(ios12有必要升14吗)

  • 微信操作频率过快怎么解除(微信操作频率过快,请稍后重试怎么解决)

    微信操作频率过快怎么解除(微信操作频率过快,请稍后重试怎么解决)

  • fido uaf client是什么权限

    fido uaf client是什么权限

  • 手机屏幕变蓝色是什么原因(手机屏幕变蓝色并慢慢扩大)

    手机屏幕变蓝色是什么原因(手机屏幕变蓝色并慢慢扩大)

  • 窗口的组成(窗口的组成元素包括( )等)

    窗口的组成(窗口的组成元素包括( )等)

  • 淘宝退款关闭是怎么回事(淘宝退货退款关闭)

    淘宝退款关闭是怎么回事(淘宝退货退款关闭)

  • vivox30耗电快怎么办(vivox30费电)

    vivox30耗电快怎么办(vivox30费电)

  • 流量卡和手机卡有什么区别(流量卡和手机卡的区别是一个号码吗)

    流量卡和手机卡有什么区别(流量卡和手机卡的区别是一个号码吗)

  • 可折叠手机有哪些(可折叠的手机是什么手机)

    可折叠手机有哪些(可折叠的手机是什么手机)

  • 美版iphone11pro和国版有什么区别(美版iphone11pro和国版价格相差多少)

    美版iphone11pro和国版有什么区别(美版iphone11pro和国版价格相差多少)

  • 如何在微信中拒收一个人的消息(如何在微信中拒绝进群)

    如何在微信中拒收一个人的消息(如何在微信中拒绝进群)

  • 平板wlan版和wifi版的区别(平板wlan版和蜂窝版有什么区别)

    平板wlan版和wifi版的区别(平板wlan版和蜂窝版有什么区别)

  • vivo手机怎么关闭全屏显示(vivo手机怎么关闭广告推送)

    vivo手机怎么关闭全屏显示(vivo手机怎么关闭广告推送)

  • 不是黄钻怎么看被挡访客(不是黄钻怎么看隐身)

    不是黄钻怎么看被挡访客(不是黄钻怎么看隐身)

  • 苹果x支持双卡吗(苹果x支持双卡双待的手机型号)

    苹果x支持双卡吗(苹果x支持双卡双待的手机型号)

  • 华为m30和pro有什么不同(华为m30pro和p30pro哪个好)

    华为m30和pro有什么不同(华为m30pro和p30pro哪个好)

  • oppoa9多少寸(oppoa9尺寸是多少厘米)

    oppoa9多少寸(oppoa9尺寸是多少厘米)

  • iphone11pro上市时间(苹果 iphone 11 pro上市时间)

    iphone11pro上市时间(苹果 iphone 11 pro上市时间)

  • 飞猪能买儿童半价票吗(飞猪购买儿童票怎么下单)

    飞猪能买儿童半价票吗(飞猪购买儿童票怎么下单)

  • 微信静音了怎么调(微信静音了怎么办解除)

    微信静音了怎么调(微信静音了怎么办解除)

  • 华为nova5pro有红外吗(华为Nova5pro有红外吗)

    华为nova5pro有红外吗(华为Nova5pro有红外吗)

  • 基于卷积神经网络CNN的图片分类实现——附代码(基于卷积神经网络的网络入侵检测算法设计与实现)

    基于卷积神经网络CNN的图片分类实现——附代码(基于卷积神经网络的网络入侵检测算法设计与实现)

  • ps打不了字只显示一个点(ps打不了字只显示一个点怎么办)

    ps打不了字只显示一个点(ps打不了字只显示一个点怎么办)

  • 分配股东利润分录
  • 期末应交税费有余额吗
  • 上月留抵进项本月抵扣会计分录
  • 收到发票未收到款
  • 为什么要结转发出材料成本差异
  • 白酒消费税纳税人
  • 企业会计准则季报报送哪几个报表
  • 个体户城市维护建设税减免性质
  • 增值税报表填写说明
  • 经营租入的固定资产是资产吗
  • 企业所得税预缴计算方法
  • 增值税专票销货清单模板
  • 年度员工离职率的计算公式
  • 中途做账的企业如何建账
  • 可转债税前收益和税后收益
  • 计提坏账准备需要纳税调增吗
  • 小规模纳税人怎么算税
  • 对方承担税费怎么做会计分录
  • 出租房产如何交土地使用税
  • 研发费用的会计和税法的不同
  • 消费税如何避税计算
  • 抵扣了进项税额
  • 分公司的股东怎么填
  • threejs环境搭建
  • 会计核算是什么岗位
  • 提供劳务收入如何核算
  • 长期股权投资初始计量和后续计量的区别
  • 瑞士·劳特布龙嫩小镇
  • phptime函数
  • 解决脱发的8个方法
  • 跨年度广告费需不需要摊销
  • json与json字符串
  • 锡特f8
  • 空调年折旧率
  • 转让固定资产使用权是出租吗
  • 未完待续百度百科
  • pytorch中embedding
  • umount -l命令
  • 企业坏账准备提取的方法和提取的比例由国家统一规定
  • 企业支付宝提现到对公账户手续费
  • 金税盘开票如何增加商品编码
  • 固定资产租赁费的税率是多少
  • 本年累计金额怎么得到
  • jvm jmm
  • 织梦小说采集
  • 优先股和普通股风险哪个大
  • 企业食堂的费用入什么科目
  • 信用减值借贷方向增减
  • 一般纳税人也会被税吗
  • 土地测绘费计入开发间接费?
  • 租赁存在的原因有哪些
  • 以银行承兑汇票支付购买原材料款
  • 个税滞纳金怎么计算
  • 初次申报出口退税可能会遇到哪些问题
  • 营改增对建筑业税负的影响
  • 残次品生产成本怎么算
  • 缴纳工会经费的依据
  • 公司日常费用支出表怎么做
  • 装修公司购买材料,工程施工账务处理会计分录
  • 资产负债表月报的期初余额填什么
  • 应付票据在资产负债表怎么填列
  • 一般纳税人加工费怎么做账
  • sql平均数函数
  • Mysql主从同步的实现原理
  • win10预览版21390
  • freebsd使用wifi
  • win8.1打开软件显示Error远程配置获取失败请重新启动
  • windowsserver2008r2密码重置
  • mac怎样解压缩
  • linux获取操作命令的使用方法或参数选项内容
  • linux如何使用uname命令
  • win7关掉wifi
  • win10局域网无法上网
  • linux操作系统怎么装
  • windows配额
  • jquery的实现原理
  • jquery自定义方法
  • 四川省 税务局
  • 安徽省电子税务局怎么添加办税人员
  • 2020重庆税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设