窗口大小

在不同浏览器中确定浏览器窗口大小没有想象中那么容易。所有现代浏览器都支持 4 个属性:

  1. innerWidth
  2. innerHeight
  3. outerWidth
  4. outerHeight

outerWidthouterHeight 返回浏览器窗口自身的大小(不管是在最外层 window 上使用,还是在窗格中使用)。

innerWidthinnerHeight 返回浏览器窗口中页面视口的大小(不包含浏览器边框和工具栏)。

document.documentElement.clientWidthdocument.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置顶(返回顶部)小图标实现逻辑相关推荐

  1. 【避坑指“难”】微信小程序自定义相机:自定义取景框、本地保存照片可分享、获取GPS定位

    CustomCamera 功能介绍 与 展示 小程序取景框内拍照 实时显示当前时间 显示当前经纬度 显示当前街道信息 可本地保存照片 代码实现 1.拍照功能 拍摄照片:CameraContext.ta ...

  2. html 浮动窗口置顶,jQuery简单实现页面元素置顶时悬浮效果示例

    本文实例讲述了jQuery简单实现页面元素置顶时悬浮效果的方法.分享给大家供大家参考,具体如下: 一.JS Code: $.fn.smartFloat = function () { var posi ...

  3. vue 页面不置顶问题(页面内操作、页面跳转后) - 集合篇

    文章目录 vue 页面内切换dom,页面跳转后 都不置顶? 一.页面内操作: 1.1 代码如下: 二.页面之间跳转: 2.1 代码截图 · 说明: 2.2 增加代码 · 示下: 三.拓展 · (直接置 ...

  4. 美团·北极星开发对接避坑指北(Java)

    背景:公司做美团洗涤上门业务,本来好好的,后面美团要求接入美团·北极星订单预约接口,才能正常使用,没办法只能去接接口了,但是遇到了无数的坑,所以就有了这篇<美团·北极星开发对接避坑指北>, ...

  5. LaTeX中表格默认在页面中置顶怎么取消?

    LaTeX中表格默认在页面中置顶怎么取消? 表格.图都默认在这一页置顶,已尝试过以下方法均不行: 1.[htbp]调节方式,无论如何调节没有任何变化 2.\usepackage{float} + [H ...

  6. 网页缓慢置顶回到顶部 html、css、js

    题目: 网页缓慢置顶回到顶部( html.css.js)...鼠标点击回到顶部的盒子后,网页可先快后缓慢最终回到最初顶部.使用js的定时器实现. 问题描述: 鼠标点击回到顶部的盒子后,网页可先快后缓慢 ...

  7. vue解决跳转时新页面没有置顶

    V ue页面跳转后当前位置不在顶部的解决办法(几种办法) 1,在main.js中添加如下代码: // 跳转后返回顶部router.afterEach((to,from,next) => {win ...

  8. html5导航栏悬浮置顶,(微信小程序)导航栏悬浮吸顶以及置顶的设置

    前言 最近在做小程序的项目,遇到一些问题放在这里,一来作为自己经验收集册,收集自己的项目遇到的问题或者做的东西:二来将自己遇到的问题经验分享出来 前景提要 吸顶功能页面设置在静态的首页,作为一个首页展 ...

  9. 包含锚点平滑滚动效果/解决锚点链接碰到固定定位问题/导航选中背景变色/固顶/返回顶部效果全...

    <script type="text/javascript">$(function() {//锚点平滑滚动效果 $('a[href*=#],area[href*=#]' ...

最新文章

  1. img-responsive class图片响应式
  2. mysql 环形复制_mysql复制(Replication)
  3. c++禁止进程被结束_多进程任务实现
  4. python爬虫网络出错怎么办_Python爬虫常见问题
  5. A饭福利,AMD Mantle API获众多游戏开发商青睐!
  6. 网易校招——魔法币问题
  7. MvvmCross框架在XamarinForms中的使用入门
  8. 计算机专业期末试卷分析,计算机期末试卷分析
  9. 一款相当好用的排版软件
  10. 电脑关机后键盘灯和风扇还在转的解决方案
  11. US1MF-ASEMI贴片薄体封装二极管US1M
  12. 软件自动化测试脚本如何写,(最新整理)自动化测试脚本编写规范
  13. HTML+CSS网页设计视频教程
  14. 关于腾讯云学生服务器搭建个人网站——配置web开发环境详细步骤
  15. 合同原件、传真件、扫描件法律效力解析
  16. buzz fizz 翻译_【Oxford-2】The Fizz-Buzz
  17. 【mysql】大小写规范
  18. 打印机可以打印不能扫描怎么弄_打印机无法扫描怎么解决 打印机无法扫描相关介绍【解决方法】...
  19. 微信公众号点击列表进入详情页
  20. ORACLE 触发器控制用户登录之权限限制

热门文章

  1. 回合制html代码,老框架新思路 最新好玩的回合制网页游戏盘点
  2. 2023西安科技大学计算机考研信息汇总
  3. 高防CDN对于网站、平台有着至关重要作用?
  4. 给博客增加豆瓣观影和阅读
  5. c语言托儿所收2到6岁儿童,2018下教师资格考试测试试题:幼儿《保教知识与能力》(三)...
  6. 服务器租用哪家的机房好
  7. 【vue-cli】使用es6的可选链?.操作符报错Module parse failed解决记录
  8. 英汉字典程序C语言,分享纯C语言英汉字典源码
  9. 飞机机翼的构造及其原理
  10. js调用扫描仪(Web Twain Scan)-兼容Chrome、Edge、360、Firefox、IE、钉钉、企业微信等