十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
小编给大家分享一下vue怎么实现购物车功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、雅安服务器托管、营销软件、网站建设、周口网站维护、网站推广。
vue实现购物车小案例的具体代码如下
最终效果
HTML部分:
shopcar.html 全选
商品
单价
数量
小计
操作
京东自营
满赠
活动商品满19,即可领取商品一件>查看赠品
去凑单
OPPO R11全网通双卡双待 64G 32G
手机 玫瑰金色¥2000
¥{{add2}}
删除
移到我的关注
加到我的关注
OPPO R11全网通双卡双待 64G 32G
手机 玫瑰金色¥3000
¥{{num2}}
删除
移到我的关注
加到我的关注
京东商城
您确认删除吗?
css部分
/* common */ body,div,dl,dt,dd,ul,li,h2,h3,h4,h5,h6,h7,code,form,input,textarea,p,th,td,fieldset,legend,figure{ margin:0; padding:0; } body{ font-family:"微软雅黑",Arial; } ul,ol{ list-style:none; } a{ text-decoration:none; } img{ border:0; } /* content1 */ .content1{ width: 100%; } .con1{ width:952px; height: 36px; margin:0 auto; background: #f3f3f3; } .con1 input{ float: left; margin-top: 10px; } .con1 p{ float: left; font-size: 12px; line-height: 36px; } .con1 p:nth-child(3){ margin-left: 60px; } .con1 p:nth-child(4){ margin-left: 300px; } .con1 p:nth-child(5){ margin-left: 93px; } .con1 p:nth-child(6){ margin-left: 93px; } .con1 p:nth-child(7){ margin-left: 93px; } .con1 p:nth-child(8){ margin-left: 93px; } .con2{ width: 952px; height: 364px; margin:0 auto; margin-top: 15px; } .con2 ul:first-child{ width: 100%; height: 36px; border-bottom: 1px solid #ececec; } .uls1 input, .uls1 p, .uls1 img{ float: left; margin-top: 10px; } .uls1{ background: white; } .uls1 p{ font-size: 12px; } .all{ margin-right: 10px; margin-left: 20px; } .uls1p1{ margin-right: 20px; font-weight: 600; } .jingdong{ margin-left: 20px; } .uls1a{ width: 100%; height:37px; border-top: 2px solid #aaaaaa; } .uls1a p,.uls1a a{ float: left; } .uls1a p:nth-child(1){ font-size: 14px; width: 35px; height: 20px; border: 1px solid #f5993c; text-align: center; line-height: 20px; color: #ff9933; margin-left: 20px; margin-right: 20px; margin-top: 5px; } .uls1a a:nth-child(2){ font-size: 12px; margin-top: 10px; margin-right: 20px; color: #999999; } .uls1a p:nth-child(3){ width: 60px; height: 20px; background:red; text-align: center; line-height: 20px; color: white; font-size: 14px; margin-top: 5px; } .uls1a a:nth-child(4){ font-size: 12px; margin-top: 10px; margin-left: 10px; color: #666666; } .uls1p2{ margin-left: 10px; color: white; width: 55px; height: 17px; background: #e4393b; text-align: center; } .uls2{ width: 100%; height: 98px; border-bottom:1px dashed #ececec; background: white; } .uls2 input,.uls2 a,.uls2 img,.uls2 li,.weight,button{ float: left; } .uls2 a img{ width: 60px; border: 1px solid #ececec; margin-top: 17px; } .uls2 p,.uls2 span{ font-size: 12px; } .uls2 a p{ font-size: 12px; color: #666666; margin-top: 16px; float: left; margin-left: 10px; } .uls2 input{ margin-top: 40px; } .uls2 li span{ display: block; } .uls2 .txt{ width: 32px; height: 19px; border: 1px solid #cccccc; border-left: none; border-right: none; outline:none; text-indent: 10px; margin-top: 20px; font-weight: 600; font-size: 12px; } .weight{ margin-left: 150px; margin-top: 19px; } .uls2 li{ margin-top: 19px; margin-left: 66px; margin-right: 37px; } .uls2 button{ width: 20px; height: 21px; border: none; border: 1px solid #cccccc; background: white; margin-top: 20px; outline:none; cursor: pointer; } .uls2 li p{ color: #999999; text-decoration: line-through; } .uls2 a .laji{ width: 18px; float: left; margin-left: 60px; margin-top: 20px; } .xiaoji{ float: left; margin-left: 47px; margin-top: 20px; margin-right: 80px; } .content1 i{ font-style: normal; } .uls3{ width: 100%; height: 36px; border-bottom: 1px dashed #cccccc; background: white; } .heji{ float: right; margin-right: 20px; } .heji p,.heji span{ float: left; font-size: 12px; line-height: 36px; } .heji span{ color: #999999; } .heji p:nth-child(2),.heji p:nth-child(4){ margin-right: 44px; } .uls4{ width: 100%; height: 60px; border-top: 1px solid #cccccc; border-bottom: 1px solid #cccccc; margin-top: 15px; background: white; } .uls4L{ float: left; margin-left: 10px; } .uls4R{ float: right; } .uls4L p{ float: left; line-height: 60px; font-size: 12px; color: #999999; margin-right: 10px; } .uls4L input{ float: left; margin-top: 25px; margin-right: 10px; } .uls4L a{ font-size: 12px; color: #999999; line-height: 60px; } .uls4L a:first-child{ margin-right: 5px; } .uls4a,.uls4b{ float: left; } .uls4a1 p{ float: left; font-size: 12px; } .uls4a2 p ,.uls4a2 span{ float: left; font-size: 12px; margin-top: 10px; } .uls4a{ margin-right: 20px; } .aaa p{ font-size: 12px; color: #999999; } .aaa p:first-child{ margin-right: 20px; margin-top: 20px; } .aaa p:last-child{ margin-top: 20px; } .aaa span,.aaa i{ color: red; font-weight: 600; } .bbb{ float: left; color: #999999; } .shopnum{ color: #ff9933; font-weight: 600; } .uls4b a{ width: 70px; height: 61px; display: block; background: red; font-size: 14px; color: white; font-weight: 600; text-align: center; line-height: 60px; } .weight{ margin-right: 60px; } .a666{ cursor: pointer; } .fixed{ position: fixed; width: 400px; height: 200px; background: white; z-index: 200; top:40%; left: 30%; border: 1px solid red; display: none; } .fixed p{ width: 380px; height: 30px; background: red; font-size: 12px; color: white; line-height: 30px; padding-left: 20px; } .fixed span{ display: block; color: #666666; margin-top: 20px; text-align: center; } .fixed button:nth-child(3){ margin-left: 140px; } .fixed button{ margin-right: 20px; border: none; width: 50px; height: 30px; margin-top: 50px; border: 1px solid red; color: red; background: white; }
js部分
//基础加减 new Vue({ el:"#content1", data:{ add1:1, add2:2000, num1:1, num2:3000, num3:5000, //设置总价的最小值 }, methods:{ add:function(inc,inc2,inc3){ this.add1 += inc; this.add2 += inc2; this.num3 = this.add2 +this.num2; }, sub:function(dec,dec2,dec3){ this.add1 -= dec; this.add2 -= dec2; this.num3 = this.add2 +this.num2; if(this.add1 <= 1){ this.add1 =1; } if(this.add2 <= 2000){ this.add2 =2000; } if(this.num3 <= 5000){ this.num3 =5000; } }, numadd:function(mun1,mun2,mun3){ this.num1 += mun1; this.num2 += mun2; this.num3 = this.add2 +this.num2; this.num3 = this.add2 +this.num2; }, numsub:function(mun1,mun2,mun3){ this.num1 -= mun1; this.num2 -= mun2; this.num3 = this.add2 +this.num2; if(this.num1 <= 1){ this.num1 =1; } if(this.num2 <= 3000){ this.num2 =3000; } if(this.num3 <= 5000){ this.num3 =5000; } }, } }); $(function(){ $(".b666").click(function(){ var $this = $(this); $(".fixed").css("display","block"); $(".sure").click(function(){ $this.parent().css("display","none"); $(this).parent().css("display","none"); }); $(".quxiao").click(function(){ $(this).parent().css("display","none"); }); }); }); //全选 $("#all").click(function(){ if($("#all[type='checkbox']").prop("checked") == true){ $(".all").attr('checked', true); $(".chose").html(2); }else{ $(".all").attr('checked', false); $(".chose").html(0); } }); $(".all1").click(function(){ if($(".all1[type='checkbox']").prop("checked") == true){ $(".chose").html(1); }else{ $(".chose").html(0); } }); $(".all2").click(function(){ if($(".all2[type='checkbox']").prop("checked") == true){ $(".chose").html(1); }else{ $(".chose").html(0); } }); $(".delete").click(function(){ if($(".all[type='checkbox']").prop("checked") == false){ return; } if($("#all[type='checkbox']").prop("checked") == true){ $(".uls2").css("display","none"); $(".chose").html(0); } });
以上是“vue怎么实现购物车功能”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!