微信小程序dom操作的替代思路实例分析
本文实例讲述了微信小程序dom操作的替代思路。分享给大家供大家参考,具体如下:
微信小程序无法操作dom,这意味着之前js中的各种习惯方法必须换一种思路实现
在尝试了几类情况后,发现部分情况下可以用{{}}
变量绑定来实现效果。
比如:
一、实现view的显示和隐藏
在js中的data设置变量 bottomHidden1:"block"
;
然后在wxml中的view中设置<view class="bottom1" style="display:{{bottomHidden1}}" > </view>
;
在其它我们需要的地方使用bindtap
等绑定事件,js中定义该事件的function,使用this.setData
修改bottomHidden1变量为none或者block,实现对上文中的bottom1进行显示/隐藏控制
二、实现input中的 placeholder在获取焦点时清空,失去焦点时显示
1. 在js中,data中设置变量 priceHodler:"请输入价格",
2. 我们可以设置两个function控制变量priceHodler的值(此处添加了一种的方法实现输入框中删除图标的显示和消失,所以在data中设置了变量 clearImg)
displayImg:function(){ var imgDisplay="block"; var holderDisplay =""; this.setData({ clearImg: imgDisplay, priceHodler: holderDisplay, }) }, hiddenImg:function(){ var imgHidden = "none"; var holderHidden = "请输入价格"; this.setData({ clearImg: imgHidden, priceHodler: holderHidden, }) },
附:输入框内容删除图标的功能实现(在js的data中也设置了变量 usdValue:null
,):
doClearText:function(){ this.setData({ usdValue: null, }) },
3. 在wxml中添加这个input
<view class="input_view"> <input type="text" placeholder="{{priceHodler}}" placeholder-class="input-placeholder" class="price_usd" id="price_usd" name="price_usd" value="{{usdValue}}" bindfocus="displayImg" bindblur="hiddenImg"/> </view> <label class="clear_view" bindtap="doClearText"> <image style="display:{{clearImg}};" class="clear_img" src="../img/search_close.png"></image> </label>
这里将js的data中的priceHodler绑定给了placeholder,clearImg绑定在image的display属性上,bindfocus="displayImg"
bindblur="hiddenImg"
会控制前两个变量的值的变化, bindtap="doClearText"
会控制input的value的变化
希望本文所述对大家微信小程序开发有所帮助。
相关推荐
-
微信小程序 实现动态显示和隐藏某个控件
微信小程序 实现动态显示和隐藏某个控件 在小程序的开发过程中,经常需要用到隐藏某个控件这种情况. 因为项目原本是需要将两个canvas切换,但是小程序的canvas支持的功能实在是少,本来就jQuery mobile或者将canvas转为图片就可以很容易实现滑动效果,但是都不支持,最后只能是做一个canvas,需要时显示,不需要时隐藏. 实现方法: logs.wxml <view> <button bindtap="onChangeShowState">{{sh
-
微信小程序实现通过js操作wxml的wxss属性示例
本文实例讲述了微信小程序实现通过js操作wxml的wxss属性.分享给大家供大家参考,具体如下: 微信小程序如何通过js操作html的css属性: 在web端.手机端.webApp中可以通过js获取dom的方式设置dom属性. 微信小程序中,不能通过这种方式进行操作. 如何在微信小程序中在wxml中操作wxss的属性. 实现思路: 通过利用数据绑定实现动态改变样式, 1.在wxxml标签内嵌css属性上绑定js的date值 2.通过js中绑定css属性的date值改变wxml标签内嵌的css属性
-
微信小程序 动态的设置图片的高度和宽度详解及实例代码
微信小程序图片等比例缩放 动态的获取图片的高度和宽度 动态的设置图片的高度和宽度 前言: 在小程序布局中,如果图片不是固定高度和高度,但image设置的是固定的高度和宽度,这时候原始图片相对image设置的固定高度和宽度不是等比例大小,那么这张图片就会变形,变的不清晰.这时就可以使用下面的等比例缩放的方式缩放图片,让图片不变形.或者通过image的bindload方法动态的获取图片的高度和宽度,动态的设置图片的高度和宽度,是图片布局的高度和宽度和原始图片的高度和宽度相等. 1.图片等比例缩放工具
-
微信小程序 动态绑定数据及动态事件处理
微信小程序 动态绑定数据及动态事件处理 关键核心代码 <image class="midimage" data-Type="{{item.Type}}" data-BillCode="{{item.BillCode}}" data-src="{{item.imgurl}}" src="{{item.imgurl}}" mode="scaleToFill" bindtap="
-
微信小程序 动态传参实例详解
微信小程序 动态传参实例详解 在微信小程序的开发过程中经常会用到动态传参,比如根据某一页面传参的不同,加载不同的新的页面.接下来介绍下如何实现. 上一篇博客中介绍了如何用wx:for循环显示数组,一般情况下我们要实现的功能是点击不同的元素进入不同的页面,比如在另一个页面加载某个元素的详细信息. 跳转这里采用navigator跳转,在navigator跳转的链接上将参数加上去: index.wxml(根据点击页面的不同传递参数) <view class="item" wx:for=
-
微信小程序动态的加载数据实例代码
微信小程序刚出来有很多的东西还在更新,先写些刚开始要做的工作 1.首先要写在js里定义一个全局变量 data: { datalist: [] }, 2.请求数据加载,获得整个数组信息 wx.request({ url: httpUrl, data: {}, success: function (res) { that.setData({ datalist: res.data.courses }) }, 3.在.wxml中调用 数组的调用用:wx:for="{{datalist}}"
-
微信小程序实现动态设置页面标题的方法【附源码下载】
本文实例讲述了微信小程序实现动态设置页面标题的方法.分享给大家供大家参考,具体如下: 1.效果展示 2.关键代码 ① WXML文件 <button bindtap="setBiaoTi1">标题1</button> <button bindtap="setBiaoTi2">标题2</button> <button bindtap="setBiaoTi3">标题3</button&g
-
微信小程序点击控件修改样式实例详解
微信小程序点击控件修改样式实例详解 现在要在微信小程序中实现点击控件修改样式,如下: 微信小程序中不支持直接操作dom,要实现这种效果,我们需要通过设置data,然后利用数据和界面的双向绑定来实现它. 第一步:在wxss中定义被点击和未被点击的样式,如下: .service_selection .is_checked{ border: 1px solid #FE0002 ; color: #FE0002 ; background: #fff; } .service_selection .norm
-
微信小程序 JS动态修改样式的实现代码
微信小程序这个坑啊,js动态修改样式,我们并不能用js或者jq 轻轻松松一行代码搞定.或者用removeClass addClass 来修改样式. 以下是一种动态修改样式的方法,原理是绑定数据,然后动态的修改数据,从而实现动态样式的改变而已.感觉有点········那个啥的,怪怪的.不过也没办法了.如果你有更好的方法,可以在评论区分享一下. test.wxml <view style="text-align: center;"> <label style="
-
微信小程序dom操作的替代思路实例分析
本文实例讲述了微信小程序dom操作的替代思路.分享给大家供大家参考,具体如下: 微信小程序无法操作dom,这意味着之前js中的各种习惯方法必须换一种思路实现 在尝试了几类情况后,发现部分情况下可以用{{}}变量绑定来实现效果. 比如: 一.实现view的显示和隐藏 在js中的data设置变量 bottomHidden1:"block": 然后在wxml中的view中设置<view class="bottom1" style="display:{{bo
-
微信小程序冒泡事件及其阻止方法实例分析
本文实例讲述了微信小程序冒泡事件及其阻止方法.分享给大家供大家参考,具体如下: 事件的类别分为几种: 点击事件:tap 长按事件:longtap 触摸事件:touchstart: touchend:touchcancel:touchmove 其他:input:submit.... 其中前三类是冒泡事件,其他的称为非冒泡事件. 写一个简单的例子,代码就不一一贴出来了,WXML的文件如下: <view class='redview' bindtap='redclick'> 红色 <view
-
微信小程序bindinput与bindsubmit的区别实例分析
本文实例讲述了微信小程序bindinput与bindsubmit的区别.分享给大家供大家参考,具体如下: 实际上的话,bindinput还有bindsubmit是没有任何的可比性的,但是两者还是常常被人一起比较,为啥? 比如一个简单的搜索框,你是愿意选择使用bindinput还是使用bindsubmit?,虽然一个是表单,一个是文本输入框,但是两者都有一个共同点,就是可以去获取到用户的输入信息.这个时候,问题来了,区别在哪儿? 最简单的一段代码在下面: <form bindsubmit='inp
-
微信小程序动态添加view组件的实例代码
在web中,我们动态添加DOM,可以用jQuery的方法,很简单.在微信小程序中怎么实现下面这么需求. 其中,里程数代表上一行到这一行地方的距离(这个不重要):要实现的就是点击增加途径地,就多一行,删除途径地,就少一行. 分析:添加的和删除的是同样的结构,只是数量不一样,所以考虑循环,用列表表示,增加就往这个列表push一个,删除就从列表pop一个. 主要代码如下: <view class="weui-cell weui-cell_input"> <view clas
-
微信小程序电商常用倒计时实现实例
微信小程序电商常用倒计时实现实例 wxml文件放个text <text>second: {{second}} micro second:{{micro_second}}</text> 在js文件中调用 function countdown(that) { var second = that.data.second if (second == 0) { // console.log("Time Out..."); that.setData({ second: &q
-
微信小程序之绑定点击事件实例详解
微信小程序之绑定点击事件实例详解 微信小程序出来那么久了,趁着有时间自己研究一下,前阶段看一了一下,但是不允许个人注册,现在已经对个人开放了,所以爱好者们可以自己研究了. 首先,我们看一下如何添加底部的标签栏:在app.json里操作 { "pages":[ //在这里添加页面的路径 "pages/index/index", "pages/logs/logs", "pages/home/home" ], "windo
-
微信小程序 wx:for遍历循环使用实例解析
这篇文章主要介绍了微信小程序 wx:for遍历循环使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 效果图如下: 实现代码如下: type.js: // pages/type/type.js Page({ /** * 页面的初始数据 */ data: { types: "" }, editType: function (e) { var typeId = e.currentTarget.dataset['id']; cons
-
使用微信小程序开发弹出框应用实例详解
view class="container" class="zn-uploadimg"> <button type="primary"bindtap="showok">消息提示框</button> <button type="primary"bindtap="modalcnt">模态弹窗</button> <button typ
-
微信小程序 利用css实现遮罩效果实例详解
微信小程序 利用css实现遮罩效果实例详解 实现效果图: 如图所示,使用css实现小程序的遮罩效果,代码如下 js文件代码: //index.js //获取应用实例 var app = getApp() Page({ data: { flag: false }, a: function(){ this.setData({flag: false}) }, b: function(){ this.setData({flag: true}) } }) wxss文件代码: .b1{position:fi
-
Thinkphp5微信小程序获取用户信息接口的实例详解
Thinkphp5微信小程序获取用户信息接口的实例详解 首先在官网下载示例代码, 选php的, 这里有个坑 官方的php文件,编码是UTF-8+的, 所以要把文件改为UTF-8 然后在Thinkphp5 extend文件夹下建立Wxxcx命名空间,把官方的几个类文件放进去(这里要注意文件夹名, 命名空间名, 类名的, 大小写,一定要一样,官方的文件名和类名大小写不一样) 然后是自己的thinkphp接口代码: <?php /** * Created by PhpStorm. * User: le
随机推荐
- Sqlserver 自定义函数 Function使用介绍
- asp.net中的GridView分页问题
- javascript拖拽应用实例(二)
- php使浏览器直接下载pdf文件的方法
- Python实现的弹球小游戏示例
- 使用C#获取系统特殊文件夹路径的解决方法
- document.documentElement和document.body区别介绍
- jQuery prev ~ siblings选择器使用介绍
- JDBC 入门(一)
- ssh,scp自动登陆的实现方法
- Android 文件夹显示红色叹号的解决方法(必看)
- JS库之ParticlesJS使用简介
- 巧妙修改注册表来DIY系统公共对话框
- 资料:8种Windows安全模式解析以及应用
- 浅谈C#中Md5和Sha1两种加密方式
- Java发送邮件遇到的常见需求汇总
- 用RadioButten或CheckBox实现div的显示与隐藏
- Android登录的简单处理
- python matplotlib画图实例代码分享
- python微信跳一跳系列之自动计算跳一跳距离