微信小程序商城项目之购物数量加减(3)


Posted in Javascript onApril 17, 2017

我们在购买宝贝的时候,购物的数量,经常是我们需要使用的,如下所示:
在宝贝详情页里:

微信小程序商城项目之购物数量加减(3)

在购物车里:

微信小程序商城项目之购物数量加减(3)

现在就为大家介绍这个小组件,在小程序中,该如何去写
下图为本项目的图:

微信小程序商城项目之购物数量加减(3)

wxml:

<!-- 主容器 --> 
<view class="stepper"> 
  <!-- 减号 --> 
  <text class="{{minusStatus}}" bindtap="bindMinus">-</text> 
  <!-- 数值 --> 
  <input type="number" bindchange="bindManual" value="{{num}}" /> 
  <!-- 加号 --> 
  <text class="normal" bindtap="bindPlus">+</text> 
</view>

wxss:

/*全局样式*/ 
page { 
  padding: 20px 0; 
} 
 
/*主容器*/ 
.stepper { 
  width: 80px; 
  height: 26px; 
  /*给主容器设一个边框*/ 
  border: 1px solid #ccc; 
  border-radius: 3px; 
  margin:0 auto; 
} 
 
/*加号和减号*/ 
.stepper text { 
  width: 19px; 
  line-height: 26px; 
  text-align: center; 
  float: left; 
} 
 
/*数值*/ 
.stepper input { 
  width: 40px; 
  height: 26px; 
  float: left; 
  margin: 0 auto; 
  text-align: center; 
  font-size: 12px; 
  /*给中间的input设置左右边框即可*/ 
  border-left: 1px solid #ccc; 
  border-right: 1px solid #ccc; 
} 
 
/*普通样式*/ 
.stepper .normal{ 
  color: black; 
} 
 
/*禁用样式*/ 
.stepper .disabled{ 
  color: #ccc; 
}

js:

Page({ 
  data: { 
    // input默认是1 
    num: 1, 
    // 使用data数据对象设置样式名 
    minusStatus: 'disabled' 
  }, 
  /* 点击减号 */ 
  bindMinus: function() { 
    var num = this.data.num; 
    // 如果大于1时,才可以减 
    if (num > 1) { 
      num --; 
    } 
    // 只有大于一件的时候,才能normal状态,否则disable状态 
    var minusStatus = num <= 1 ? 'disabled' : 'normal'; 
    // 将数值与状态写回 
    this.setData({ 
      num: num, 
      minusStatus: minusStatus 
    }); 
  }, 
  /* 点击加号 */ 
  bindPlus: function() { 
    var num = this.data.num; 
    // 不作过多考虑自增1 
    num ++; 
    // 只有大于一件的时候,才能normal状态,否则disable状态 
    var minusStatus = num < 1 ? 'disabled' : 'normal'; 
    // 将数值与状态写回 
    this.setData({ 
      num: num, 
      minusStatus: minusStatus 
    }); 
  }, 
  /* 输入框事件 */ 
  bindManual: function(e) { 
    var num = e.detail.value; 
    // 将数值与状态写回 
    this.setData({ 
      num: num 
    }); 
  } 
})

运行结果:

微信小程序商城项目之购物数量加减(3)

demo下载地址:商城购物数量加减

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

Javascript 相关文章推荐
struts2 jquery 打造无限层次的树
Oct 23 Javascript
用JS实现一个TreeMenu效果分享
Aug 28 Javascript
js输出阴历、阳历、年份、月份、周示例代码
Jan 29 Javascript
jquery删除ID为sNews的tr元素的内容
Apr 10 Javascript
jQuery使用empty()方法删除元素及其所有子元素的方法
Mar 26 Javascript
JS仿QQ好友列表展开、收缩功能(第一篇)
Jul 07 Javascript
关于jquery layui弹出层的使用方法
Apr 21 jQuery
JavaScript笛卡尔积超简单实现算法示例
Jul 30 Javascript
JS计算两个数组的交集、差集、并集、补集(多种实现方式)
May 21 Javascript
JavaScript实现轮播图效果代码实例
Sep 28 Javascript
jQuery实现移动端下拉展现新的内容回弹动画
Jun 24 jQuery
webpack4从0搭建组件库的实现
Nov 29 Javascript
微信小程序商城项目之商品属性分类(4)
Apr 17 #Javascript
微信小程序商城项目之侧栏分类效果(1)
Apr 17 #Javascript
Map.vue基于百度地图组件重构笔记分享
Apr 17 #Javascript
JS简单验证上传文件类型的方法
Apr 17 #Javascript
JavaScript实现的商品抢购倒计时功能示例
Apr 17 #Javascript
巧用weui.topTips验证数据的实例
Apr 17 #Javascript
JS与jQuery实现子窗口获取父窗口元素值的方法
Apr 17 #jQuery
You might like
浅析PHP的ASCII码转换类
2013/07/05 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
2015/10/21 PHP
thinkphp5 URL和路由的功能详解与实例
2017/12/26 PHP
json2.js的初步学习与了解
2011/10/06 Javascript
在页面加载完成后通过jquery给多个span赋值
2014/05/21 Javascript
Jquery日期选择datepicker插件用法实例分析
2015/06/08 Javascript
javascript实现在线客服效果
2015/07/15 Javascript
jQuery实现打开页面渐现效果示例
2016/07/27 Javascript
基于HTML+CSS+JS实现增加删除修改tab导航特效代码
2016/08/05 Javascript
JS实现表单多文件上传样式美化支持选中文件后删除相关项
2016/09/30 Javascript
JS产生随机数的用法小结
2016/12/10 Javascript
ReactNative 之FlatList使用及踩坑封装总结
2017/11/29 Javascript
JavaScript调用模式与this关键字绑定的关系
2018/04/21 Javascript
详解Angular-ui-BootStrap组件的解释以及使用
2018/07/13 Javascript
Vue常用指令详解分析
2018/08/19 Javascript
Vue项目中如何使用Axios封装http请求详解
2019/10/23 Javascript
[57:16]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第二场
2014/05/26 DOTA
在GitHub Pages上使用Pelican搭建博客的教程
2015/04/25 Python
python实现简单socket通信的方法
2016/04/19 Python
Python 数据结构之堆栈实例代码
2017/01/22 Python
浅谈终端直接执行py文件,不需要python命令
2017/01/23 Python
python3实现ftp服务功能(服务端 For Linux)
2017/03/24 Python
50行Python代码实现人脸检测功能
2018/01/23 Python
Python下调用Linux的Shell命令的方法
2018/06/12 Python
Python Web编程之WSGI协议简介
2018/07/18 Python
详解如何设置Python环境变量?
2019/05/13 Python
Python使用import导入本地脚本及导入模块的技巧总结
2019/08/07 Python
python numpy 反转 reverse示例
2019/12/04 Python
python3 实现口罩抽签的功能
2020/03/11 Python
吉列剃须刀英国官网:Gillette英国
2019/03/28 全球购物
我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。 为什么如下的代码((int *)p)++; 不行?
2013/05/09 面试题
个人找工作求职简历的自我评价
2013/10/20 职场文书
2014法院干警廉洁警示教育思想汇报
2014/09/13 职场文书
车间安全生产管理制度
2015/08/06 职场文书
vue-cli3.x配置全局的scss的时候报错问题及解决
2022/04/30 Vue.js
springboot为异步任务规划自定义线程池的实现
2022/06/14 Java/Android