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

uniapp h5 touch事件踩坑记录

场景:悬浮球功能

当我给悬浮球设置了 position: fixed;  然后监听悬浮球的touch事件,从事件对象中拿到clientY和clientX赋值给悬浮球的left和top属性。当直接赋值后效果应该是这样子:

注意鼠标相对悬浮球的位置,应该就是左上角,因为left和top属性是从左上角作为起点的。但是当运行在h5页面中就是这样子:

 可以看到x轴没问题但是y轴位置明显不对。最后发现隐藏title后和不隐藏title获取的clientY值是不一样的,测试后发现如果加了title,那么clientY是从tite底部开始为0计算的。但是悬浮球top是按照是浏览器视口顶部开始计算的,这就是为什么悬浮球比正常位置靠上的原因!!!这里注意下图发现uniapp在我的悬浮球的祖先元素设置了定位,这个设置定位的祖先刚好是title的底部,那么就有同学疑问,那么不应该悬浮球也top为0的位置也是tite底部吗,答案是我设置的fixed,固定定位永远相对于浏览器视口。这个也是个坑,如果设置不是fixed那么就要注意参照物究竟是哪一个!

知道了这个问题那么就很好解决了。这里就不贴啦,有很多解决办法,难不倒各位程序猿!! 

http://www.lryc.cn/news/329146.html

相关文章:

  • webpack.prod.js(webpack生产环境配置文件)
  • 利用python做模拟数据(测试数据),连接数据库和服务器接口,涉及雪花id服务
  • 大模型日报2024-03-30
  • 【ARM 嵌入式 C 入门及渐进 14 -- C 代码中取余与取模的使用介绍】
  • C++入门知识详细讲解
  • pytorch中的torch.hub.load():以vggish为例
  • mysql 用户管理-权限管理
  • RabbitMQ--04--发布订阅模式 (fanout)-案例
  • 基于java+SpringBoot+Vue的网上书城管理系统设计与实现
  • PCL点云处理之M估计样本一致性(MSAC)平面拟合(二百三十六)
  • 通过WSL在阿里云上部署Vue项目
  • 240330-大模型资源-使用教程-部署方式-部分笔记
  • uni-app 富文本编辑器
  • 3D汽车模型线上三维互动展示提供视觉盛宴
  • 如何在Flutter中进行网络请求?
  • node:ReferenceError: XMLHttpRequest is not defined
  • PHP定时任务框架taskPHP3.0的学习记录1(TaskPHP、执行任务类的实操代码实例)
  • 图腾柱PFC:HP1010为您的电动两轮车之旅提供绿色,高效,安全的动力
  • 动态规划-----背包类问题(0-1背包与完全背包)详解
  • 通过 Docker 搭建 BookStack
  • 通俗易懂:什么是Java虚拟机(JVM)?它的主要作用是什么?
  • [k8s] kubectl执行失败后等待一段时间再重试 (Shell实现)
  • java中的static和单例模式
  • RabbitMQ相关总结
  • RAFT: Adapting Language Model to Domain Specific RAG
  • 第十五届蓝桥杯第三期模拟赛第十题 ← 上楼梯
  • 第四题:星期一
  • Mamba: Linear-Time Sequence Modeling with Selective State Spaces(论文笔记)
  • 2024蓝桥杯每日一题(区间DP)
  • LeetCode-2952. 需要添加的硬币的最小数量【贪心 数组 排序】