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

微信小程序 js中写一个px单位转rpx单位的函数

大家写东西自然还是会比较喜欢用rpx 但是 事实证明 在js中 还是px好用 因为很多单位交互的函数还是只返回px单位的

理论上将 750 rpx 是整个屏幕的宽度
那么 我们可以这样写一个函数

pxToRpx(px) {//获取整个屏幕的宽度单位 pxlet screenWidth = wx.getSystemInfoSync().screenWidth//用整个屏幕的px单位 除以 750let ratio = 750 / screenWidth//用px单位除以 屏幕比return (px * ratio)
}

这里 我们看看效果
wxml

<view ><view id = "dom"></view>
</view>

wxss

#dom{width: 750rpx;height: 300rpx;display: block;background-color: brown;
}

js

Page({data: {},onLoad: function () {const query = wx.createSelectorQuery()query.select('#dom').boundingClientRect()query.exec((res) => {console.log(this.pxToRpx(res[0].height))});},pxToRpx(px) {//获取整个屏幕的宽度单位 pxlet screenWidth = wx.getSystemInfoSync().screenWidth//用整个屏幕的px单位 除以 750let ratio = 750 / screenWidth//用px单位除以 屏幕比return (px * ratio)}
});

这里 我们用wxss 设置元素高度为 300rpx 然后 我们js获取px单位 高度
然后用我们刚刚写的函数转rpx
控制台输出如下
在这里插入图片描述
但是这里我试过 很多单位会有一些偏差
例如 这里我们改成 453
在这里插入图片描述
控制台输出就不太准了
在这里插入图片描述
我试过一些 大差不差 一般差距就是2左右 如果对精度要求不是特别高可以考虑
但 比较是利用屏幕宽度参与的计算 有偏差确实也没办法

个人建议还是直接用px去算确实也不错的

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

相关文章:

  • 第14章总结:lambda表达式与处理
  • 多尺度retinex图像去雾算法matlab仿真
  • 蓝桥等考Python组别十八级005
  • redis在linux系统的安装与使用
  • PanoFlow:学习360°用于周围时间理解的光流
  • C# - 常用API
  • 新式茶饮品牌如何写出生活感软文
  • 使用c++视觉处理----canny 边缘检测、sobel边缘检测、scharr 滤波边缘检测
  • gogs和drone如何配合使用
  • Feign客户端的配置与使用
  • 【数据结构】队列(Queue)实现详解
  • 23.10.13数据库升级流程记录
  • 【three.js】结合vue进行开发第一个3d页面
  • 【Vue】同一个页面多次复用同一个组件数据相互干扰问题
  • 【深度学习实验】卷积神经网络(八):使用深度残差神经网络ResNet完成图片多分类任务
  • HarmonyOS学习 -- ArkTS开发语言入门
  • 早安心语|不委屈不将就,让生活充满仪式感
  • [Python进阶] 操纵键盘:pyuserinput
  • 解析Moonbeam的安全性、互操作性和市场竞争力
  • RPA是什么?怎么成为RPA高手?
  • Apache Shiro 漏洞复现
  • 炒现货白银的最佳时间
  • C# OpenVINO 人脸识别
  • ESP32-WROOM-32无法进入下载模式进行程序上传的问题
  • 尚硅谷Flink(一)
  • C++ 设计模式 —— 桥接模式
  • 微信怎么删除好友?非常简单,2个方法!
  • 小谈设计模式(25)—职责链模式
  • Python- JSON-RPC创建一个远程过程调用
  • Linux中scp命令复制文件