js实现购物车案例(全选,反选,加入,删除,加减,总价,数量)

1.购物车效果展示

在这里插入图片描述

2.代码展示

<!DOCTYPE html>
<html>
	<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{
	margin:0px;
	padding:0px;
}.shop{
	width:900px;
	height:300px;
	border:1px solid red;
	margin:0 auto;
}.shoping{
	width:290px;
	height:300px;
	float:left;
	border:1px solid pink;
	margin-left:5px;
}.shoping>.imgs{
	width:200px;
	height:200px;
	margin:0 auto;
	border:1px solid gold;
	margin-top:10px;
}.imgs>img{
	width:200px;
	height: 200px;
}.car{
	width:900px;
	height:auto;
	/*border:1px solid blue;*/
	margin:0 auto;
	margin-top:10px;
}.shoping p{
	text-align: center;
}.gocar{
	width:100px;
	height:40px;
	background:red;
	border:none;
	color:#FFF;
}
#TB img{
	width: 100px;
	height: 100px;
}
</style>
	</head>
	<body>
		<div class='shop'>
		<div class='shoping'>
			<div class='imgs'>
				<img src="../19放大镜/放大镜/707931695cd61f3dd254997cfa4a1f05.jpg"/>
			</div>
			<div class='title'>
				<p class='name'>景甜一</p>
				<p class='pic'>998.00</p>
				<p>
					<button class='gocar'>加入购物车</button>
				</p>
			</div>
		</div>
		<div class='shoping'>
			<div class='imgs'>
				<img src="../19放大镜/04.放大镜操作/104764b93ce519ea580ea2114cd0fe8b.jpg"/>
			</div>
			<div class='title'>
				<p class='name'>景甜二</p>
				<p class='pic'>99.00</p>
				<p >
					<button class='gocar'>加入购物车</button>
				</p>
			</div>
		</div>
		<div class='shoping'>
			<div class='imgs'>
				<img src="../上下换图/img/w.jpg"/>
			</div>
			<div class='title'>
				<p class='name'>景甜三</p>
				<p class='pic'>195.00</p>
				<p>
					<button class='gocar'>加入购物车</button>
				</p>
			</div>
		</div>
	<div class="car">
		<table width="900" border="1" cellspacing="0" id="TB">
			
			<tr>
				<th width="40">
					<input type="checkbox" class="qx">
				</th>
				<th width="200">商品名字</th>
				<th width="150">图片</th>
				<th>价格</th>
				<th>数量</th>
				<th>单价</th>
				<th>操作</th>
			</tr>
		</table>
	</div>
	</div>
	</body>
	<script type="text/javascript">
		var obtn=document.getElementsByClassName('gocar')
		var otble=document.getElementById('TB')
		var imgs=document.getElementsByClassName('imgs')
		var oname=document.getElementsByClassName('name')
		var pic=document.getElementsByClassName('pic')
	for (var i=0;i<obtn.length;i++) {
		obtn[i].index=i;
		obtn[i].onclick=function(){
			// 当前 图片 名字 价格
			var onames=oname[this.index].innerHTML
			var opic=pic[this.index].innerHTML
			var oimg=imgs[this.index].innerHTML
			var otbody=otble.children[0]
			// 创建 tr
			var tr=document.createElement('tr');
			//在tr里面拼接代码
			tr.innerHTML="<th><input type='checkbox'/></th>"+
			'<th>'+onames+'</th>'+'<th>'+oimg+'</th>'
			+'<th>'+opic+'</th>'+'<th><button class="up">-</button><span class="number">1</span><button class="down">+</button></th>'
			+'<th class="dj">'+opic+'</th>'
			+'<th><span class="sc">删除</span>'
			//添加tr
			otbody.appendChild(tr)	
		//功能	
		// 获取tr
		var tr1=document.getElementsByTagName('tr')
		for (var i=0;i<tr1.length;i++) {
			tr1[i].index=i;
		tr1[i].onclick=function(e){
		var e=e||window.event;
		// target 返回点击目标  this 当前对象
		var el=e.target||e.srcElement;
	    //获取点击class
		var cls=el.className 
		var shuliag=this.getElementsByClassName('number')[0]
		var val=Number(shuliag.innerHTML)
		// switch 判断固定值
		switch(cls){
			case "down":
		    shuliag.innerHTML=val+1;
		    str(this)
		    break;
			case "up":
			if(val>1){
			shuliag.innerHTML=val-1;	
			}
			str(this)
			break;
			case "sc":
			var conf = confirm('确定删除此商品吗?');
			if(conf){
			this.parentNode.removeChild(this)	
			}
		
		  }
		}
	}
		function str(cc){
		var oa=cc.cells;
		var oa3=oa[3].innerHTML; 
		var shuliang=oa[4].getElementsByClassName('number')[0].innerHTML 
		oa[5].innerHTML=Number(oa3)*Number(shuliang)
		if(Number(shuliang)==1){
			alert("最后一件了")
		}
	}
		
		
	}
}	
	</script>
</html>
  • 15
    点赞
  • 89
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Vue.js购物车案例是一个使用Vue.js框架实现的简单购物车功能的示例。在这个案例中,我们通过Vue实例化一个对象,并使用data属性来存储购物车中的商品信息,包括商品的id、名称、日期、价格和数量。使用methods属性来定义一些方法,例如减少商品数量、增加商品数量删除商品等。同时,使用filters属性来定义一个过滤器,用于显示商品价格的格式。使用computed属性来计算购物车中选中商品的总价数量。 在HTML模板中,我们可以通过v-for指令循环渲染出购物车中的每一个商品,通过v-bind指令将商品的属性绑定到相应的DOM元素上,通过v-on指令将事件与方法绑定在一起,实现交互功能。通过v-model指令实现双向数据绑定,使得商品数量的变化可以反映在数据中。 在Vue实例的computed属性中,我们使用filter方法筛选出被选中的商品,并使用reduce方法计算总价。 总的来说,Vue.js购物车案例通过Vue的数据绑定和计算属性的特性实现了一个简单的购物车功能,可以方便地对商品进行增加、减少和删除操作,并且实时计算选中商品的总价数量。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Vue.js-购物车案例](https://blog.csdn.net/weixin_48137421/article/details/125110902)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Vue-购物车案例(非常详细)](https://blog.csdn.net/qq_38666686/article/details/122065543)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [vue整合SSM项目实战](https://download.csdn.net/download/m0_55755339/88241603)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值