• 【小程序开发】购物车加减几件demo



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

     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
        });
      }
    })
    

     css: 

    /*全局样式*/
    page {
    	padding: 20px 0;
    }
    
    /*主容器*/
    .stepper {
    	 80px;
    	height: 26px;
    	/*给主容器设一个边框*/
    	border: 1px solid #ccc;
    	border-radius: 3px;
    	margin:0 auto;
    }
    
    /*加号和减号*/
    .stepper text {
    	 19px;
    	line-height: 26px;
    	text-align: center;
    	float: left;
    }
    
    /*数值*/
    .stepper input {
    	 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;
    }
    

     

    效果图:

  • 相关阅读:
    【bzoj2820】GCD
    【learning】莫比乌斯反演
    【bzoj2151】种树
    【noip模拟】局部最小值
    【learning】多项式乘法&fft
    【learning】二分图最大匹配的König定理
    【noip模拟】2048
    【noip模拟】修长城
    【noip模拟】最小点覆盖
    【noip模拟】Fantasia
  • 原文地址:https://www.cnblogs.com/xiaohuizhang/p/8981735.html
Copyright © 2020-2023  润新知