微信小程序之购物数量加减 —— 微信小程序实战商城系列(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
		});
	}
})

运行结果:

demo下载地址:http://download.csdn.net/detail/michael_ouyang/9815524

更多小程序的教程

微信开发者工具的快捷键

微信小程序的文件结构 —— 微信小程序教程系列(1)

微信小程序的生命周期实例演示 —— 微信小程序教程系列(2)

微信小程序的动态修改视图层的数据 —— 微信小程序教程系列(3)

微信小程序的新建页面 —— 微信小程序教程系列(4)

微信小程序的如何使用全局属性 —— 微信小程序教程系列(5)

微信小程序的页面跳转 —— 微信小程序教程系列(6)

微信小程序标题栏和导航栏的设置 —— 微信小程序教程系列(7)

微信小程序的作用域和模块化 —— 微信小程序教程系列(8)

微信小程序视图层的数据绑定 —— 微信小程序教程系列(9)

微信小程序视图层的条件渲染 —— 微信小程序教程系列(10)

微信小程序视图层的列表渲染 —— 微信小程序教程系列(11)

微信小程序视图层的模板 —— 微信小程序教程系列(12)

微信小程序wxss的尺寸单位rpx —— 微信小程序教程系列(13)

微信小程序的网络请求 —— 微信小程序教程系列(14)

微信小程序的百度地图获取地理位置 —— 微信小程序教程系列(15)

微信小程序使用百度api获取天气信息 —— 微信小程序教程系列(16)

微信小程序获取系统日期和时间 —— 微信小程序教程系列(17)

微信小程序之顶部导航栏实例 —— 微信小程序实战系列(1)

微信小程序之上拉加载(分页加载)实例 —— 微信小程序实战系列(2)

微信小程序之轮播图实例 —— 微信小程序实战系列(3)

微信小程序之仿android fragment之可滑动的底部导航栏实例
—— 微信小程序实战系列(4)

微信小程序之登录页实例 —— 微信小程序实战系列(5)

微信小程序之自定义toast实例 —— 微信小程序实战系列(6)

微信小程序之自定义抽屉菜单(从下拉出)实例 —— 微信小程序实战系列(7)

微信小程序之自定义模态弹窗(带动画)实例 —— 微信小程序实战系列(8)

微信小程序之侧栏分类 —— 微信小程序实战商城系列(1)

微信小程序之仿淘宝分类入口 —— 微信小程序实战商城系列(2)

更多小程序的教程请查看:http://blog.csdn.net/michael_ouyang/article/details/54700871

谢谢观看,不足之处,敬请指导

时间: 2024-12-25 12:01:31

微信小程序之购物数量加减 —— 微信小程序实战商城系列(3)的相关文章

自己动手丰衣足食之 jQuery 数量加减插件

引言 做一个手机端的订单相关项目中,其中下订单时需要用到数量加减的控件,可以设置默认值,也可以设置最大值和最小值.使用jQuery这么长时间了,平时很少去编写属于自己的插件,现在编写的时候对立面的一些原理还不是很懂,比如说插件函数入口.插件内如何编写私有函数.如何调用含参私有函数.如果在使用插件时提示参数.都还需要一一去摸索. jQuery实现方式 1.类级别插件开发. $.ajax(). 2.对象级别插件开发.  $("div").highlight(). 3.jquery UI提供

在axure中实现商品数量加减效果,原型库网站讲师-金乌 解答同学问

有同学在群里提问,如何使用axure制作商品数量增加减少效果,见GIF图.虽然属于初级教程,但很多同学还是小白新手阶段,所以特地录制了详细的视频讲解,供大家学习参考! 该教程由原型库网站录制http://www.yuanxingku.com转载请注明出处! 在axure中实现商品数量加减效果,原型库网站讲师-金乌 解答同学问,布布扣,bubuko.com

jquery实现文本框数量加减功能的例子分享

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

购物车商品数量加减

<span class="cut ">-</span>                <input class="number" type="text" value="1">     <span class="add">+</span> <script>/*购物车商品数量加减*/$(function(){           $(&qu

js jquery 权限单选 bug修改以及正确代码 购物车数量加减

效果图废话不多直接上代码 用的avalon渲染,其实都是一样的 <div class="shop-arithmetic"> <a href="javascript:;" class="minus" onclick="delpubls(this)">-</a> <input type="number" style="min-height: 20px;font

购物车jquery数量加减+总价计算

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>购物车结算</title> <meta name="description&quo

vue入门------简单购物车功能实现(全选,数量加减,价格加减)

简易购物车功能(无任何布局 主要是功能) 数量的加减 商品的总价钱 全选与全不选 删除(全选.价格 受影响) <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <div id="box"> 全选:<input type="checkbox" @click="handleAllChecked($event)&q

可定制的商品数量加减按钮

仿京东淘宝购物车商品的加减按钮,可定制程度较高,使用简单 支持自定义加/减按钮的标题内容.背景图片; 支持设置边框颜色; 支持使用键盘输入; 支持长按加/减按钮快速加减; 支持block回调与delegate(代理)回调. 支持使用xib创建.类方法创建.自定义大小 运行效果: 示例代码: 自定义加减按钮的标题悦德财富https://www.yuedecaifu.com 1 2 3 4 5 6 7 PPNumberButton *numberButton = [[PPNumberButton a

文本框数量加减功能

此功能相当于购物车加减功能: <p class="_stepper"> <input class="stepper_input" data-bind="value:orderInfo.PrintNumber,event:{ change: GetPrintNumber}" type="number" id="printNumber" value="1"/> <