【避坑指“难”】页面Top置顶(返回顶部)小图标实现逻辑
窗口大小
在不同浏览器中确定浏览器窗口大小没有想象中那么容易。所有现代浏览器都支持 4 个属性:
- innerWidth
- innerHeight
- outerWidth
- outerHeight
outerWidth
和 outerHeight
返回浏览器窗口自身的大小(不管是在最外层 window 上使用,还是在窗格中使用)。
innerWidth
和 innerHeight
返回浏览器窗口中页面视口的大小(不包含浏览器边框和工具栏)。
document.documentElement.clientWidth
和 document.documentElement.clientHeight
返回页面视口的宽度和高度
什么时候显示置顶Icon
当滚动条位置-页面视口高度 > 0时
const [showIcon, setShowIcon] = useState(false);useEffect(() => {window.addEventListener("scroll", scroll);
}, [])useEffect(() => {return ()=> {window.removeEventListener("scroll", scroll);}
}, [])const scrollToTop = () => {document.body.scrollTop = document.documentElement.scrollTop = 0;};const scroll = e => {let scroll = document.documentElement.scrollTop;let screenHeight = document.documentElement.clientHeight;if (scroll - screenHeight > 0)setShowIcon(true);elsesetShowIcon(false);};
{showIcon ?<div className="float-item" onClick={scrollToTop}><img className="img-one" src={require('../../../assets/image/icon-top.png')}/><img className="img-two" src={require('../../../assets/image/icon-top-w.png')}/></div>: ""
}
【避坑指“难”】页面Top置顶(返回顶部)小图标实现逻辑相关推荐
- 【避坑指“难”】微信小程序自定义相机:自定义取景框、本地保存照片可分享、获取GPS定位
CustomCamera 功能介绍 与 展示 小程序取景框内拍照 实时显示当前时间 显示当前经纬度 显示当前街道信息 可本地保存照片 代码实现 1.拍照功能 拍摄照片:CameraContext.ta ...
- html 浮动窗口置顶,jQuery简单实现页面元素置顶时悬浮效果示例
本文实例讲述了jQuery简单实现页面元素置顶时悬浮效果的方法.分享给大家供大家参考,具体如下: 一.JS Code: $.fn.smartFloat = function () { var posi ...
- vue 页面不置顶问题(页面内操作、页面跳转后) - 集合篇
文章目录 vue 页面内切换dom,页面跳转后 都不置顶? 一.页面内操作: 1.1 代码如下: 二.页面之间跳转: 2.1 代码截图 · 说明: 2.2 增加代码 · 示下: 三.拓展 · (直接置 ...
- 美团·北极星开发对接避坑指北(Java)
背景:公司做美团洗涤上门业务,本来好好的,后面美团要求接入美团·北极星订单预约接口,才能正常使用,没办法只能去接接口了,但是遇到了无数的坑,所以就有了这篇<美团·北极星开发对接避坑指北>, ...
- LaTeX中表格默认在页面中置顶怎么取消?
LaTeX中表格默认在页面中置顶怎么取消? 表格.图都默认在这一页置顶,已尝试过以下方法均不行: 1.[htbp]调节方式,无论如何调节没有任何变化 2.\usepackage{float} + [H ...
- 网页缓慢置顶回到顶部 html、css、js
题目: 网页缓慢置顶回到顶部( html.css.js)...鼠标点击回到顶部的盒子后,网页可先快后缓慢最终回到最初顶部.使用js的定时器实现. 问题描述: 鼠标点击回到顶部的盒子后,网页可先快后缓慢 ...
- vue解决跳转时新页面没有置顶
V ue页面跳转后当前位置不在顶部的解决办法(几种办法) 1,在main.js中添加如下代码: // 跳转后返回顶部router.afterEach((to,from,next) => {win ...
- html5导航栏悬浮置顶,(微信小程序)导航栏悬浮吸顶以及置顶的设置
前言 最近在做小程序的项目,遇到一些问题放在这里,一来作为自己经验收集册,收集自己的项目遇到的问题或者做的东西:二来将自己遇到的问题经验分享出来 前景提要 吸顶功能页面设置在静态的首页,作为一个首页展 ...
- 包含锚点平滑滚动效果/解决锚点链接碰到固定定位问题/导航选中背景变色/固顶/返回顶部效果全...
<script type="text/javascript">$(function() {//锚点平滑滚动效果 $('a[href*=#],area[href*=#]' ...
最新文章
- img-responsive class图片响应式
- mysql 环形复制_mysql复制(Replication)
- c++禁止进程被结束_多进程任务实现
- python爬虫网络出错怎么办_Python爬虫常见问题
- A饭福利,AMD Mantle API获众多游戏开发商青睐!
- 网易校招——魔法币问题
- MvvmCross框架在XamarinForms中的使用入门
- 计算机专业期末试卷分析,计算机期末试卷分析
- 一款相当好用的排版软件
- 电脑关机后键盘灯和风扇还在转的解决方案
- US1MF-ASEMI贴片薄体封装二极管US1M
- 软件自动化测试脚本如何写,(最新整理)自动化测试脚本编写规范
- HTML+CSS网页设计视频教程
- 关于腾讯云学生服务器搭建个人网站——配置web开发环境详细步骤
- 合同原件、传真件、扫描件法律效力解析
- buzz fizz 翻译_【Oxford-2】The Fizz-Buzz
- 【mysql】大小写规范
- 打印机可以打印不能扫描怎么弄_打印机无法扫描怎么解决 打印机无法扫描相关介绍【解决方法】...
- 微信公众号点击列表进入详情页
- ORACLE 触发器控制用户登录之权限限制
热门文章
- 回合制html代码,老框架新思路 最新好玩的回合制网页游戏盘点
- 2023西安科技大学计算机考研信息汇总
- 高防CDN对于网站、平台有着至关重要作用?
- 给博客增加豆瓣观影和阅读
- c语言托儿所收2到6岁儿童,2018下教师资格考试测试试题:幼儿《保教知识与能力》(三)...
- 服务器租用哪家的机房好
- 【vue-cli】使用es6的可选链?.操作符报错Module parse failed解决记录
- 英汉字典程序C语言,分享纯C语言英汉字典源码
- 飞机机翼的构造及其原理
- js调用扫描仪(Web Twain Scan)-兼容Chrome、Edge、360、Firefox、IE、钉钉、企业微信等