微信小程序 点击控件后选中其它反选实例详解


Posted in Javascript onFebruary 21, 2017

微信小程序 点击控件后选中其它反选实例详解

前言:

如果需要实现进来进行给按钮加上买一送一的样式,或者单击就选中单个按钮,只能靠css结合js进行控制了,小程序暂时没有这样的控件。

实现效果图:

微信小程序 点击控件后选中其它反选实例详解

微信小程序进来的时候自动进行按钮样式的初始化,这个需要一个字段做判断,加上正则表达式wxml文件:

<block wx:for="{{liuliangItems}}">
      <block wx:if="{{item.one2one == 1}}">
       <button class="{{item.changeColor?'selected2':'selected1'}}" type="default" id="{{item.price}}" data-id="{{item.name}}" data-one="{{item.one2one}}" data-orderid="{{item.id}}" data-number="1" bindtap="setPrice">{{item.name}}</button>
      </block>
      <block wx:else>
       <button class="{{item.changeColor?'selected':'normal'}}" type="default" id="{{item.price}}" data-id="{{item.name}}" data-one="{{item.one2one}}" data-orderid="{{item.id}}" data-number="1" bindtap="setPrice">{{item.name}}</button>
      </block>
     </block>

wxss文件

.normal{
 box-sizing: border-box;
 flex: 0 0 21%;
 margin: 5px 5px;
 height: 50px;
 color:#1aad19;
 border:1px solid #1aad19;
 background-color:transparent;
}
.selected{
 box-sizing: border-box;
 flex: 0 0 21%;
 margin: 5px 5px;
 height: 50px;
 background-color: #F75000;
 color: white;
}
.selected1{
 box-sizing: border-box;
 flex: 0 0 21%;
 margin: 5px 5px;
 height: 50px;
 background-color: transparent;
 border:1px solid #1aad19;
 color:#1aad19;
 background-image: url(https://wxcx.llzt.net/images/hot.png) ;
 background-position:31px 0px;
 background-repeat:no-repeat;
 background-size:62%;
}
.selected2{
 box-sizing: border-box;
 flex: 0 0 21%;
 margin: 5px 5px;
 height: 50px;
 background-color: #F75000;
 color: white;
 background-image: url(https://wxcx.llzt.net/images/hot.png);
 background-position:31px 0px;
 background-repeat:no-repeat;
 background-size:62%;
}

现在的方法把集合进行循环,然后获取当前点击的这个按钮进行比较,然后进行样式的修改

for (var i = 0; i < this.data.liuliangItems.length; i++) {
    if (e.target.dataset.orderid == this.data.liuliangItems[i].id) {
     txtArray1[i] = {
      id: this.data.liuliangItems[i].id, changeColor: true,
      price: this.data.liuliangItems[i].price, name: this.data.liuliangItems[i].name,
      one2one: this.data.liuliangItems[i].one2one
     }
    } else {
     txtArray1[i] = {
      id: this.data.liuliangItems[i].id, changeColor: false,
      price: this.data.liuliangItems[i].price, name: this.data.liuliangItems[i].name,
      one2one: this.data.liuliangItems[i].one2one
     }
    }
   }

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
FireFox JavaScript全局Event对象
Jun 14 Javascript
js本身的局限性 别让javascript做太多事
Mar 23 Javascript
Javascript 运动中Offset的bug解决方案
Dec 24 Javascript
JS实现的网页背景闪电闪烁效果代码
Oct 17 Javascript
js实现网页收藏功能
Dec 17 Javascript
理解JS绑定事件
Jan 19 Javascript
jQuery中的ready函数与window.onload谁先执行
Jun 21 Javascript
jquery Easyui Datagrid实现批量操作(编辑,删除,添加)
Feb 20 Javascript
Angular2 父子组件数据通信实例
Jun 22 Javascript
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
Aug 29 Javascript
JS中min函数实例讲解
Feb 18 Javascript
Vue 实现从文件中获取文本信息的方法详解
Oct 16 Javascript
jquery实现下拉框左右选择功能
Feb 21 #Javascript
jquery实现页面加载效果
Feb 21 #Javascript
vue2.0使用Sortable.js实现的拖拽功能示例
Feb 21 #Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
Feb 21 #Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
Feb 21 #Javascript
使用get方式提交表单在地址栏里面不显示提交信息
Feb 21 #Javascript
JavaScript中的this陷阱的最全收集并整理(没有之一)
Feb 21 #Javascript
You might like
PHP安全技术之 实现php基本安全
2010/09/04 PHP
去掉destoon资讯内容页keywords关键字自带的文章标题的方法
2014/08/21 PHP
php制作简单模版引擎
2016/04/07 PHP
yum命令安装php7和相关扩展
2016/07/04 PHP
JavaScript高级程序设计 读书笔记之九 本地对象Array
2012/02/27 Javascript
javascript获取设置div的高度和宽度兼容任何浏览器
2013/09/22 Javascript
js同比例缩放图片的小例子
2013/10/30 Javascript
JQuery选择器、过滤器大整理
2015/05/26 Javascript
JS实战篇之收缩菜单表单布局
2016/12/10 Javascript
如何提高Dom访问速度
2017/01/05 Javascript
Vue中封装input组件的实例详解
2017/10/17 Javascript
vue2.0 和 animate.css的结合使用
2017/12/12 Javascript
Vue-router 中hash模式和history模式的区别
2018/07/24 Javascript
Vue开发之封装上传文件组件与用法示例
2019/04/25 Javascript
微信小程序云函数添加数据到数据库的方法
2020/03/04 Javascript
[48:32]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python多线程socket编程之多客户端接入
2017/09/12 Python
Python3 循环语句(for、while、break、range等)
2017/11/20 Python
Python 爬虫之Beautiful Soup模块使用指南
2018/07/05 Python
python flask框架实现重定向功能示例
2019/07/02 Python
opencv3/python 鼠标响应操作详解
2019/12/11 Python
python通过移动端访问查看电脑界面
2020/01/06 Python
Keras官方中文文档:性能评估Metrices详解
2020/06/15 Python
localStorage的过期时间设置的方法详解
2018/11/26 HTML / CSS
阿玛尼美妆加拿大官方商城:Giorgio Armani Beauty加拿大
2017/10/24 全球购物
上班上网检讨书
2014/01/29 职场文书
学习雷锋做美德少年寄语大全
2014/04/09 职场文书
中餐厅经理岗位职责
2014/04/11 职场文书
无传销社区工作方案
2014/05/13 职场文书
我们的节日元宵活动方案
2014/08/23 职场文书
国庆横幅标语
2014/10/08 职场文书
2015年班组长工作总结
2015/04/10 职场文书
开学典礼校长致辞
2015/07/29 职场文书
使用这 6个Vue加载动画库来减少我们网站的跳出率
2021/05/18 Vue.js
Mysql实现主从配置和多主多从配置
2021/06/02 MySQL
如何解决springcloud feign 首次调用100%失败的问题
2021/06/23 Java/Android