本文实例为大家分享了vue实现购物车小案例的具体代码,供大家参考,具体内容如下
最终效果
HTML部分:
<!doctype html> <html lang=\"en\"> <head> <meta charset=\"UTF-8\"> <title>shopcar.html</title> <script src=\"https://cdn.jsdelivr.net/npm/vue\"></script> <script src=\"https://cdn.jsdelivr.net/npm/vue/dist/vue.js\"></script> <link rel=\"stylesheet\" href=\"css/shopcar.css\" > <script src=\"js/shopcar.js\"></script> </head> <body> <div class=\"content1\" id=\"content1\"> <div class=\"con1\"> <input type=\"checkbox\" id=\"all\" class=\"all\"> <p>全选</p> <p>商品</p> <p>单价</p> <p>数量</p> <p>小计</p> <p>操作</p> </div> <div class=\"con2\"> <ul class=\"uls1\"> <input type=\"checkbox\" class=\"jingdong\"> <p class=\"uls1p2\">京东自营</p> </ul> <ul class=\"uls1a\"> <p>满赠</p> <a href=\"#\" >活动商品满19,即可领取商品一件></a> <p>查看赠品</p> <a href=\"#\" >去凑单</a> </ul> <ul class=\"uls2\" id=\"box\"> <input type=\"checkbox\" class=\"all all1\"> <a href=\"#\" > <img src=\"img/aaa.jpg\" alt=\"\"> <p>OPPO R11全网通双卡双待 64G 32G<br> 手机 玫瑰金色</p> </a> <p class=\"weight\"><i id=\"weight\">¥2000</i></p> <button class=\"min\" @click=\"sub(1,2000)\">-</button> <input ref=\"add1\" type=\"text\" class=\"txt\" v-model=\"add1\"> <button class=\"add\" @click=\"add(1,2000)\">+</button> <p class=\"xiaoji\"><i id=\"xiaoji1\">¥{{add2}}</i></p> <p class=\"a666 b666\">删除</p> <p class=\"a666\">移到我的关注</p> <p class=\"a666\">加到我的关注</p> </ul> <ul class=\"uls2\" id=\"box2\"> <input type=\"checkbox\" class=\"all all2\"> <a href=\"#\" > <img src=\"img/bbb.jpg\" alt=\"\"> <p>OPPO R11全网通双卡双待 64G 32G<br> 手机 玫瑰金色</p> </a> <p class=\"weight\"><i id=\"weight\">¥3000</i></p> <button class=\"min\" @click=\"numsub(1,3000)\">-</button> <input ref=\"num1\" type=\"text\" class=\"txt\" v-model=\"num1\"> <button class=\"add\" @click=\"numadd(1,3000)\">+</button> <p class=\"xiaoji\"><i id=\"xiaoji1\">¥{{num2}}</i></p> <p class=\"a666 b666\">删除</p> <p class=\"a666\">移到我的关注</p> <p class=\"a666\">加到我的关注</p> </ul> <div class=\"uls4\"> <div class=\"uls4L\"> <input type=\"checkbox\" class=\"all\"> <a href=\"#\" class=\"delete\">删除选中商品</a> <a href=\"#\" >移到我的关注</a> <a href=\"#\" >清除下柜商品</a> </div> <div class=\"uls4R\"> <div class=\"uls4a\"> <div class=\"uls4a1\"> <div class=\"aaa\"> <p>已选择<i class=\"chose\">0</i>件商品^</p> <p>总价:<span>¥</span><i>{{num3}}</i></p> </div> <p class=\"bbb\">已节省:¥- 00.0</p> </div> </div> <div class=\"uls4b\"> <a href=\"gouwu.html\" rel=\"external nofollow\" >去结算</a> </div> </div> </div> </div> </div> <div class=\"fixed\"> <p>京东商城</p> <span>您确认删除吗?</span> <button class=\"sure\">确认</button> <button class=\"quxiao\">取消</button> </div> </body> <script type=\"text/javascript\" src=\"js/jquery.min.js\"></script> <script src=\"js/jquery-1.8.3.min.js\"></script> <script src=\"js/shopcar.js\"></script> <script type=\"text/javascript\"> </script>
css部分
/* common */ body,div,dl,dt,dd,ul,li,h1,h2,h3,h4,h5,h6,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); } });
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
© 版权声明
THE END
暂无评论内容