收藏
回答

真机调试NodesRef.boundingClientRect返回坐标问题?

真机调试(2340*1080):

SelectorQuery.selectViewport() 返回maxHeight为694,maxWidth为360

boundingClientRect 返回页面中间位置元素的坐标是top:300,left:303


想问下各位大佬,这俩API返回的坐标是相对于什么的,不是屏幕大小吗


回答关注问题邀请回答
收藏

2 个回答

  • TNT
    TNT
    2021-12-22

    不是可见区域。是你选择某个节点。这个节点内的元素坐标, 举个例子

    <view>
      <view>
       <view class="xxx">
    
      </view>
     </view>
    </view>
    
    selectViewport()的是class为xxx那一栏,那就是这一栏的坐标。而不是可视区域的。
    
    2021-12-22
    有用 1
    回复 4
    • 桃浪柒
      桃浪柒
      2021-12-23
      那如果没有指定class或者id呢
      2021-12-23
      回复
    • TNT
      TNT
      2021-12-23回复桃浪柒
      没有就是根节点,也就是page组件。428x928是手机的screenHeight和screenWidth
      2021-12-23
      回复
    • 桃浪柒
      桃浪柒
      2021-12-23
      嗯嗯,我知道了,感谢~ 
      刚也搜了下,这返回的结果和真机有个pixelRatio的关系
      2021-12-23
      回复
    • TNT
      TNT
      2021-12-23回复桃浪柒
      蒽蒽
      2021-12-23
      回复
  • Cjiang
    Cjiang
    2021-12-22

    https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.selectViewport.html

    文档是说明显示区域

    2021-12-22
    有用
    回复 1
    • 桃浪柒
      桃浪柒
      2021-12-22
      显示区域是指什么呢?不是小程序可见的页面大小吗
      2021-12-22
      回复
登录 后发表内容