小程序操作DOM以及JS求取字符串算法(前端网备份)

 //js获取字符串的字节长度
//这套算法一个汉字2字节,字母符号1字节,按一行40个字节算4行
  getLength:function(val){
    var str = new String(val);
    var bytesCount = 0;
    for (var i = 0, n = str.length; i < n; i++) {
      var c = str.charCodeAt(i);
      if ((c >= 0x0001 && c <= 0x007e) || (0xff60 <= c && c <= 0xff9f)) {
        bytesCount += 1;
      } else {
        bytesCount += 2;
      }
    }
    return bytesCount;
  },
  onReady: function () {
    var that =this;
    setTimeout(function () {
      //要延时执行的代码
      var query = wx.createSelectorQuery();
      query.select(‘.pContent‘).boundingClientRect()
      query.exec((res) => {
        console.log(res);
        var pContentHeight = res[0].height;
        console.log("ready", pContentHeight);
        if (pContentHeight < 82 || pContentHeight==87) {
          that.setData({
            hidden: true
          });
        }
        that.setData({
          pContentHeight: pContentHeight
        });
      })
    },300) 

  },

初始化DOM求高度是有BUG的,只能第一次渲染后求,不加延迟有时候求不到值,加了延迟第一面效果不好

原文地址:https://www.cnblogs.com/lsc-boke/p/10996825.html

时间: 2024-08-04 17:49:23

小程序操作DOM以及JS求取字符串算法(前端网备份)的相关文章

动态操作DOM节点js实现

    近日再次翻看<javascript面向对象编程指南>这本书,读到浏览器环境一章,渐渐明白了js作为脚本语言,需要依托宿主环境来实现功能,从浏览器角度考虑,就是对浏览器的BOM和DOM的操作.DOM操作又可分为:访问.修改.删除.新建.每种操作都有独特的方法和属性.下面取dom节点的访问.新建和删除的功能实例来讲解(参考文章).     <INPUT LEFT: 392px; POSITION: absolute; TOP: 128px" type="butto

微信小程序-06-详解介绍.js 逻辑层文件-注册页面

上一篇介绍的是 app.js 逻辑层文件中注册程序,对应的每个分页面都会有的 js 文件中 page() 函数注册页面 微信小程序-06-详解介绍.js 逻辑层文件-注册页面 宝典官方文档: https://developers.weixin.qq.com/miniprogram/dev/framework/MINA.html 今天开始深度学习编程语法,虽然大部分是拷贝官方文档,代码类都是我自己敲的,希望能自己敲一遍表格里的内容,熟悉一下操作 页面 Page Page(Object) Page(

微信小程序学习Course 4-2 JS数组对象学习

微信小程序学习Course 3-2 JS数组对象学习 本节主要介绍JS中的数组. 3-2.1 数组的声明 数组声明的方式多种,如下例.一般我们可以先创建一个空数组,然后再填充. var names = [];//创建一个空数组 var names = ["sadad","asdsad"];//创建一个包含两个字符串的数组 var names = new Array(3);//创建一个包含三个元素的数组 3-2.2 数组的增添 数组有多种增添方式,一种是栈方式,另一种

爬虫小程序 - 王者荣耀全皮肤爬取

爬虫小程序 - 王者荣耀全皮肤爬取 代码如下所示(可直接复制使用): import requests import re import os ''' ps: 出现 <Response [405]> 多运行几次就好了 ''' def Downloed_ksin(ename, **kwargs): # 英雄详情页 url = 'https://pvp.qq.com/web201605/herodetail/' + ename + '.shtml' html = session.get(url=ur

小程序实例:用js方法splict()、indexOf()、push()、replace()等操作数组Array的增删改查

一.增加数组子级 1.Array.push() 定义和用法 向数组的末尾处添加一个或多个子集,并返回新数组的长度 语法 var array=["好","扎在那个"]; array.push("fewa")//array=>["好","扎在那个","fewa"] 小程序配图 2.Array.unshift() 定义和用法 向数组的首部处添加一个或多个子集,并返回新数组的长度 语法 v

前端面试题总结(js、html、小程序、React、ES6、Vue、算法、全栈热门视频资源)持续更新 &#362414;

原文: http://blog.gqylpy.com/gqy/438 置顶:来自一名75后老程序员的武林秘籍--必读(博主推荐) 来,先呈上武林秘籍链接:http://blog.gqylpy.com/gqy/401/ 你好,我是一名极客!一个 75 后的老工程师! 我将花两分钟,表述清楚我让你读这段文字的目的! 如果你看过武侠小说,你可以把这个经历理解为,你失足落入一个山洞遇到了一位垂暮的老者!而这位老者打算传你一套武功秘籍! 没错,我就是这个老者! 干研发 20 多年了!我也年轻过,奋斗过!我

微信小程序之获取验证码js

在微信小程序中怎样实现获取验证码的倒计时功能捏,倒计时的原理是一样一样的,就是某些地方需要注意. 第一步:结构 <view class='get-code' wx:if="{{!isShow}}" bindtap='getCode'>获取验证码</view> <view class='get-code' wx:if="{{isShow}}">{{sec}}秒后重新发送</view> 注意:微信小程序中要用到两个按钮,不

小程序——如何引入外部js

当写小程序需要引入一些额外的js文件时,可以这样: 一.先把外部js用一个函数封闭起来: test.js function myfunc() { console.log("myfunc...."); } // 在这个函数的最下面暴露接口 module.exports.myfunc = myfunc; 二.引用 在需要引用此函数的文件里,如Index.js: const util = require("../../utils/test.js") // 这是引入文件 P

微信小程序监听input输入并取值

小程序的事件分为两种,冒泡和非冒泡事件,像<form/>的submit事件,<input/>的input事件,<scroll-view/>的scroll事件等非冒泡事件,需要到组件的文档里去找,如下是我截图的一些常用的非冒泡事件 非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递. 想要实时监听input的输入只要使用bindinput就可以了, wxml: <input bindinput='watchPassWord' type='password