微信小程序点击view动态添加样式过程解析


Posted in Javascript onJanuary 21, 2020

这篇文章主要介绍了微信小程序点击view动态添加样式过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

基本逻辑:

1.给每个view自定义dataIndex属性,从0开始

2.自定义一个名为selected的class,作为被选中后的样式

3.在wx.js中给viewId属性赋为0,用于默认显示。

4.给每个view添加一个点击事件select,在点击某个view时 将dataIndex变成这个view的自定义index

5.在view中添加一个三木运算符用于控制选中样式 {{dataIndex == 0 ? 'selected':''}}

附图:

wxml

<view class="ICONBOX {{viewId == 0 ? 'selected':''}} " bindtap="select" data-index= '0'>
   <view class="iconfont icon-haoping ic" ></view>好评
  </view>
  <view class="ICONBOX {{viewId == 1 ? 'selected':''}}" bindtap="select" data-index = '1'> 
   <view class="iconfont icon-zhongping ic"></view>中评
  </view>
  <view class="ICONBOX {{viewId == 2 ? 'selected':''}}" bindtap="select" data-index ='2'>
   <view class="iconfont icon-bottom-comment ic"></view>差评
  </view>

wxss

/* 表情盒子 */
 .ICONBOX{
  border: 1px solid red;
  display: flex;
  justify-content: space-around;
  /* flex-direction: */
  align-items: center;
  color: #999;
  font-size: 28rpx;
 }
 .ic{
  margin-right: 5rpx;
 }
 .selected{
  color: #f63
 }

wxjs

data: {
  
  viewId : 0
 },
select:function(e){
  this.setData({
   viewId: e.currentTarget.dataset.index
  })
 },

由于viewId初始值是0,所以会默认第一个切换了样式。

这样就完成了该事件:

微信小程序点击view动态添加样式过程解析

里面还有几个不足之处,时间仓促,暂且就这样写了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用js调用迅雷下载代码的二种方法
Apr 15 Javascript
JavaScript中document对象使用详解
Jan 06 Javascript
js数组依据下标删除元素
Apr 14 Javascript
JavaScript统计字符串中每个字符出现次数完整实例
Jan 28 Javascript
标准的js无缝滚动效果
Aug 30 Javascript
基于JavaScript实现的希尔排序算法分析
Apr 14 Javascript
js 开发之autocomplete=&quot;off&quot;在chrom中失效的解决办法
Sep 28 Javascript
Node.js爬取豆瓣数据实例分析
Mar 05 Javascript
react-router 路由切换动画的实现示例
Dec 03 Javascript
React降级配置及Ant Design配置详解
Dec 27 Javascript
JS浮点数运算结果不精确的Bug解决
Aug 01 Javascript
vue实现标签云效果的方法详解
Aug 28 Javascript
微信小程序如何实现radio单选框单击打勾和取消
Jan 21 #Javascript
微信小程序仿淘宝热搜词在搜索框中轮播功能
Jan 21 #Javascript
微信小程序swiper实现文字纵向轮播提示效果
Jan 21 #Javascript
jquery将信息遍历到界面上实例代码
Jan 21 #jQuery
微信浏览器下拉黑边解决方案 wScroollFix
Jan 21 #Javascript
修改vue源码实现动态路由缓存的方法
Jan 21 #Javascript
微信小程序图片自适应实现解析
Jan 21 #Javascript
You might like
最小化数据传输――在客户端存储数据
2006/10/09 PHP
php 将excel导入mysql
2009/11/09 PHP
解析thinkphp中的M()与D()方法的区别
2013/06/22 PHP
详解配置 Apache 服务器支持 PHP 文件的解析
2017/02/15 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
2020/03/02 PHP
jQuery中的jQuery()方法用法分析
2014/12/27 Javascript
js实现漂浮回顶部按钮实例
2015/05/06 Javascript
JQuery中模拟image的ajaxPrefilter与ajaxTransport处理
2015/06/19 Javascript
JavaScript编程中window的location与history对象详解
2015/10/26 Javascript
JS实现超精简的链接列表在固定区域内滚动效果代码
2015/11/04 Javascript
jQuery实现每隔几条元素增加1条线的方法
2016/06/27 Javascript
JavaScript面向对象编写购物车功能
2016/08/19 Javascript
JavaScript简单验证表单空值及邮箱格式的方法
2017/01/20 Javascript
vue2.0构建单页应用最佳实战
2017/04/01 Javascript
JS正则表达式验证中文字符
2017/05/08 Javascript
js断点调试心得分享(必看篇)
2017/12/08 Javascript
vue项目中实现缓存的最佳方案详解
2019/07/11 Javascript
解决Vue-cli无法编译es6的问题
2020/10/30 Javascript
[47:03]完美世界DOTA2联赛PWL S3 Galaxy Racer vs Phoenix 第二场 12.10
2020/12/13 DOTA
Python中使用glob和rmtree删除目录子目录及所有文件的例子
2014/11/21 Python
Python装饰器使用示例及实际应用例子
2015/03/06 Python
深入浅析python with语句简介
2018/04/11 Python
tensorflow1.0学习之模型的保存与恢复(Saver)
2018/04/23 Python
python3+django2开发一个简单的人员管理系统过程详解
2019/07/23 Python
python列表切片和嵌套列表取值操作详解
2020/02/27 Python
Python+Xlwings 删除Excel的行和列
2020/12/19 Python
利用CSS3实现炫酷的飞机起飞动画
2016/09/17 HTML / CSS
后勤部长岗位职责
2013/12/14 职场文书
幼儿园教师培训制度
2014/01/16 职场文书
文秘档案管理岗位职责
2014/03/06 职场文书
公司领导班子群众路线四风问题对照检查材料
2014/10/02 职场文书
百日宴上的祝酒词
2015/08/10 职场文书
2016年10月份红领巾广播稿
2015/12/21 职场文书
2016年6.5世界环境日宣传活动总结
2016/04/01 职场文书
高中议论文(范文2篇)
2019/08/19 职场文书
java设计模式--三种工厂模式详解
2021/07/21 Java/Android