zoukankan      html  css  js  c++  java
  • 微信小程序——获取元素的宽高等属性

    微信小程序里面无法像用jquery一样获取到元素的节点。小程序提供了一个wx.createSelectorQuery()来获取元素的相关信息。官方的文档对于它的用法都已经写的很详细了。

    我直接上在项目中使用的代码吧~

    先交待一下我的项目需求,看下图:

    获取那块高度的原理很简单,就是页面的整体高度减去1,2,3的高度。

    看下页面结构:

    js具体代码如下:

    Page({
    
      /**
       * 页面的初始数据
       */
      data: {
        tabContHeight:300,
      },
    
      //计算高度
      getRect: function () {
        var _this = this;
      //我这里需要获取多个元素的高度,所以用的是selectAll wx.createSelectorQuery().selectAll(
    '.page-content, .video-box, .play-note, .tab-nav').boundingClientRect().exec(function(res){ _this.setData({ tabContHeight: res[0][0].height - res[0][1].height - res[0][2].height - res[0][3].height }) }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { //调用 计算高度 的方法 this.getRect(); } })

    注意:需要把page和.page-content的height设置为100%,这样你返回的.page-content的高度才是你页面的整个高度。

    我们要怎么获取其它的元素属性呢?我们可以先看一下js里面的res返回了一些什么数据,如下图所示:

    所以如果我们要获取第2个元素的width,就通过 res[0][1].width就能得到啦~~

  • 相关阅读:
    linux开放防火墙端口方法
    Node.js 构建TCP服务
    React高阶组件
    在create-react-app 中启用装饰器语法
    Redux
    微信小程序组件与组件之间的通讯
    微信小程序网络请求
    微信小程序的页面导航跳转
    sqoop2启动job报错
    sqoop2启动client异常
  • 原文地址:https://www.cnblogs.com/sese/p/9494801.html
Copyright © 2011-2022 走看看