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

  • 联通app怎么解绑副卡(联通app怎么解绑亲情号)

    联通app怎么解绑副卡(联通app怎么解绑亲情号)

  • 钉钉闪记怎么使用(钉钉闪记的视频怎么导出)

    钉钉闪记怎么使用(钉钉闪记的视频怎么导出)

  • 无线装置关闭打不出电话怎么解决(无线装置关闭打不出电话主板坏)

    无线装置关闭打不出电话怎么解决(无线装置关闭打不出电话主板坏)

  • 苹果12和12pro有什么区别(苹果12和12pro有什么区别图片)

    苹果12和12pro有什么区别(苹果12和12pro有什么区别图片)

  • 拼多多新用户砍价为什么是0元(拼多多新用户砍刀怎么买)

    拼多多新用户砍价为什么是0元(拼多多新用户砍刀怎么买)

  • 荣耀20可以反向充电吗(荣耀20反向充电怎么关闭)

    荣耀20可以反向充电吗(荣耀20反向充电怎么关闭)

  • 苹果11隐藏的照片怎么显示出来(苹果11隐藏的照片怎么恢复)

    苹果11隐藏的照片怎么显示出来(苹果11隐藏的照片怎么恢复)

  • 微信二维码收款记录能删吗(微信二维码收款怎么联系付款人)

    微信二维码收款记录能删吗(微信二维码收款怎么联系付款人)

  • adsl拨号上网什么意思(adsl是拨号上网吗)

    adsl拨号上网什么意思(adsl是拨号上网吗)

  • 小红书几点发流量最大(小红书每天几点钟发布最好)

    小红书几点发流量最大(小红书每天几点钟发布最好)

  • 注销后账号还在吗(注销后账号还在怎么办)

    注销后账号还在吗(注销后账号还在怎么办)

  • http502是什么意思

    http502是什么意思

  • 蓝牙设备解锁什么意思(蓝牙设备解锁什么意思呀)

    蓝牙设备解锁什么意思(蓝牙设备解锁什么意思呀)

  • 局域网联机什么意思(局域网联机需要网络吗)

    局域网联机什么意思(局域网联机需要网络吗)

  • 快手怎么艾特自己名字(快手怎么艾特自己关注的人)

    快手怎么艾特自己名字(快手怎么艾特自己关注的人)

  • 微信不认证如何收红包(微信不认证可以吗)

    微信不认证如何收红包(微信不认证可以吗)

  • QQ阅读里下载的书在哪里(qq阅读下载后去哪了)

    QQ阅读里下载的书在哪里(qq阅读下载后去哪了)

  • vivo手机怎么查记录(vivo手机怎么查是不是正品)

    vivo手机怎么查记录(vivo手机怎么查是不是正品)

  • vivo怎么调字体大小(vivo怎么调字体变大)

    vivo怎么调字体大小(vivo怎么调字体变大)

  • 怎么合并视频(手机怎么合并视频)

    怎么合并视频(手机怎么合并视频)

  • 无线网密码怎么改手机(无线网密码怎么改)

    无线网密码怎么改手机(无线网密码怎么改)

  • qq扩列是什么意思(qq扩列是什么鬼)

    qq扩列是什么意思(qq扩列是什么鬼)

  • 华为nova5pro有没有方舟编译器(华为nova5pro有没有高清通话)

    华为nova5pro有没有方舟编译器(华为nova5pro有没有高清通话)

  • 微信如何和对方私信啊(微信如何和对方聊天记录)

    微信如何和对方私信啊(微信如何和对方聊天记录)

  • 滴滴定位不准(滴滴定位不准确,怎么设置准确位置苹果手机)

    滴滴定位不准(滴滴定位不准确,怎么设置准确位置苹果手机)

  • 王者荣耀中哪吒技能有哪些?(王者荣耀中哪吒的图片)

    王者荣耀中哪吒技能有哪些?(王者荣耀中哪吒的图片)

  • 小规模纳税人应交税费的二级科目
  • 离岸价的含义
  • 应税劳务销售额怎么算
  • 开具增值税发票哪些情形不用交税?
  • 电子普通发票和纸质普通发票一样吗
  • 新个税年终奖计算公式
  • 哪些进项税额不可以抵扣
  • 小规模纳税人免税销售额
  • 绿化税票多少税率
  • 收入与支出怎么算利润率
  • 旅游业发票税率是多少
  • 企业所得税税前扣除凭证管理办法
  • 汇款出国规定
  • 股权转让与增资扩股的税务
  • 公司未开展业务就没有债权债务吗
  • 用党费返还款购置资产应如何账务处理?
  • 营改增后房地产开发企业需要交哪些税?
  • 哪些发票可以报销抵税
  • 个人独资企业可以不开公户吗
  • 购买护肤品取得的发票能入账吗?
  • 电子汇票如何背书步骤
  • 农产品收购抵扣税额可以申请留抵退税
  • 年终汇算清缴怎么计算
  • 一张发票上可以开几行
  • 印花税分配比例
  • 业务招待费有增值税吗
  • windows11如何
  • 贸易公司买进卖出
  • 应收账款余额包括预收账款
  • 上月有留底税额,这个月有销销没有进项怎么做账
  • 设计费要计入固定费用吗
  • 增值税专用发票丢了怎么补救
  • 员工报销可以从一般账户转出吗
  • 建筑业 分包
  • win10平板模式不好用
  • 进项票少了怎么办
  • 索尼vpcea200c笔记本
  • Yii2使用驼峰命名的形式访问控制器(实例讲解)
  • PHP:mb_substitute_character()的用法_mbstring函数
  • 营业外收入增加说明什么问题
  • vue3 vue.config.js配置Element-plus组件和Icon图标实现按需自动引入
  • phpstorm运行php
  • phpfilter
  • 企业接受现金捐赠要交税吗
  • 微前端Qiankun介绍
  • php删除指定字符串
  • 目前税收工作中存在的主要问题及对策
  • 个体工商户年报逾期怎么办
  • js点击li
  • 什么情况下开劳务费发票
  • html怎么样
  • MySQL数据库存储引擎
  • 进项税额转出更正申报
  • 事务所企业所得税
  • 现行印花税税率是多少
  • 待认证进项税额月末怎么处理
  • 内账会计有法律风险吗
  • 本年度发票一定要收回吗
  • 出口退税的发票是专票还是普票
  • 施工仪器的主要类别
  • 固定资产清理主动
  • 出口转内销补交进口增值税时间
  • 原始凭证和记账凭证的填制
  • 进项税额抵扣是按税率分开抵扣吗
  • 企业要建账需留什么资料
  • SQL Server AlwaysOn读写分离配置图文教程
  • vmp.exe是什么
  • 丢失msvcr80.dll
  • windows设备和打印机
  • 解决登陆xp系统问题
  • Win7旗舰版64位如何关闭电脑触摸屏功能的方法
  • win8.1如何设置
  • win7资源管理器不停的崩溃重启
  • 所有游戏通用的画质修改器
  • android的基本概念
  • androidstudio ui
  • jquery获取指定元素
  • jquery获取多个元素
  • 人防异地建设费标准
  • 将购进农产品用于生产销售或委托加工货物的税率多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设