当前位置: 首页 > news >正文

css面板视觉高度

css面板视觉高度

touch拖拽

在手机端有时候会存在实现touch上拉或者下拉的样式操作

此功能实现可以参考:

https://blog.csdn.net/u012953777/article/details/147465162?spm=1011.2415.3001.5331

面板视觉高度

前提需求:

1、展示端分为两部分:上面展示一部分内容、下一部分展示面板

2、通过拖拉下部分面板,上一部分高度需要同步的变化

3、如何准确的获取当前的视觉高度,从而执行上部分精准的变化

核心代码实现如下:

//获取当前面板的实际视觉高度
const getPanelVisualHeight = () =>{const rect = panel.getBoundingClientRect();const visualHeight = window.innerHeight - rect.top;return visualHeight;
}
  • 详细解释:

第一句:const rect = panel.getBoundingClientRect();

panel是页面上的一个DOM 元素,比如你选中的一个

getBoundingClientRect() 是 DOM 提供的一个 API,它返回一个矩形对象,里面包含了元素相对于视口(也就是浏览器可视区域左上角)的位置信息,比如:

  • rect.top:元素上边到视口上边缘的距离(单位是像素)

  • rect.left:元素左边到视口左边缘的距离

  • rect.width:元素的宽度

  • rect.height:元素的高度

  • rect.bottom:元素下边到视口上边缘的距离

  • rect.right:元素右边到视口左边缘的距离

注意:
getBoundingClientRect() 返回的是相对可视区域的,不是相对整个页面的!

比如:

属性例子解释
rect.top = 100代表这个元素距离浏览器顶部 100px
rect.left = 50代表元素距离浏览器左边 50px

第二句:const visualHeight = window.innerHeight - rect.top;

  • window.innerHeight 是浏览器可视区域的高度(不包括滚动条和浏览器外壳)。

  • rect.top 是元素顶部到可视区顶部的距离。

所以:

window.innerHeight - rect.top

的意思是:

从元素的 top 位置到浏览器可视区底部的剩余空间高度

也就是说:

如果元素已经快贴到浏览器底部了,这个 visualHeight 会很小。

如果元素刚出现在视口顶部,visualHeight 会很大

相关文章:

  • C语言数据结构—数组(cpu内存与指针)
  • CSS 内容超出显示省略号
  • 计算机视觉算法 segment anything 论文解读
  • Docker容器跑定时任务脚本
  • Spring 与 ActiveMQ 的深度集成实践(四)
  • UE 新建一个自带光照的场景
  • 【Linux系统】静态库与动态库
  • DLMS COSEM 数据对象 与 ASN.1 BER 编码 —— 详解一览
  • 视觉/深度学习/机器学习相关面经总结(2)(持续更新)
  • 【C++ 类和数据抽象】消息处理示例(2)
  • 展销编辑器操作难度及优势分析​
  • 微博安卓版话题热度推荐算法与内容真实性分析
  • Linux CentOS 安装Python 3.8.0
  • 代数拓扑和黎曼几何有什么联系吗?
  • 贪心算法和动态规划
  • 服务器异地备份,服务器异地备份有哪些方法?
  • 如何识别DDoS攻击类型及有效防护?一篇简明指南
  • OA 系统如何做好 DDoS 防护?从架构设计到实战防御的完整方案
  • 【HPC存储性能测试】01-OpenMPI部署
  • 树状数组单点操作+前缀K差分->区间K操作 -#131-#132
  • 澎湃思想周报丨数字时代的育儿;凛冬已至好莱坞
  • 李公明|一周画记:哈佛打响第一枪
  • 人民日报社论:做新时代挺膺担当的奋斗者
  • 国内生产、境外“游一圈”再进保税仓,这些“全球购”保健品竟是假进口
  • 新干式二尖瓣瓣膜国内上市,专家:重视瓣膜病全生命周期管理
  • 十四届全国人大常委会第十五次会议在京举行,审议民营经济促进法草案等