JS实现购物车商品 加、减、单选、全选、删除、手动输入、价格更新等功能,供大家参考,具体内容如下
JavaScript代码
$(function(){ $("#footer").hover(function(){ $("#footer").css({"border":"#e00"}) },) var inputs=document.getElementsByName("good-id"); var all=document.getElementsByName("all")[0]; all.onclick=function(){ for(var i=0;i<inputs.length;i++){ inputs[i].checked=this.checked; } sumprice(); } for(var i=0;i<inputs.length;i++){ inputs[i].onclick=function(){ var count=0; for(var j=0;j<inputs.length;j++){ if(inputs[j].checked==true){ count++ } } if(count<inputs.length){ all.checked=false; }else{ all.checked=true; } sumprice(); } } //减少 var minus=document.getElementsByName("minus"); for(var i=0;i<minus.length;i++){ minus[i].onclick=function(){ var counts=this.nextElementSibling; var count=parseInt(counts.value); if(count>1){ counts.value=--count; } sumprice(); } } //增加 var plus=document.getElementsByName("plus"); for(var i=0;i<plus.length;i++){ plus[i].onclick=function(){ var counts=this.previousElementSibling; var count=parseInt(counts.value); counts.value=++count; sumprice(); } } //手动输入 var counts=document.getElementsByName("count"); for(var i=0;i<counts.length;i++){ counts[i].onblur=function(){ var count=parseInt(this.value); if(isNaN(count)||count<1){ count=1; } this.value=count; sumprice(); } } //计算 function sumprice() { var tbody = document.getElementById("cart-goods-list"); var tbodyTr = tbody.getElementsByTagName("tr"); var sumprice=0; for(var i = 0; i < tbodyTr.length; i++) { //获取单价 var priceEm = tbodyTr[i].getElementsByClassName("price-em")[0]; var price = parseFloat(priceEm.innerText); //获取数量 var counts = tbodyTr[i].getElementsByClassName("combo-value")[0]; var count = parseInt(counts.value); //乘积 var chengji=price*count; //把乘积弄到金额里面 var amountEm=tbodyTr[i].getElementsByClassName("amount-em")[0]; amountEm.innerText=chengji.toFixed(2); //获取单选框 var liD=tbodyTr[i].getElementsByTagName("input")[0]; if(liD.checked){ sumprice+=chengji; } } var zong=document.getElementById("total-amount-em"); zong.innerText=sumprice.toFixed(2); } //删除 document.getElementById("cart-delete").onclick=function(){ var tbody = document.getElementById("cart-goods-list"); var del=[]; for(var i=0;i<inputs.length;i++){ if(inputs[i].checked){ del.push(inputs[i].parentElement.parentElement); } } for(var i=0;i<del.length;i++){ tbody.removeChild(del[i]); } all.checked=false; sumprice(); } document.getElementById("total-amount").onmouseover=function(){ document.getElementById("total-amount").style.cursor="pointer"; } document.getElementById("total-amount").onclick=function(){ var tbody = document.getElementById("cart-goods-list"); var tr=document.createElement("tr"); tr.innerHTML='<tr><td><input type="checkbox" name="good-id" value="1"></td><td class="goods"><div class="goods-image"><img src="/UploadFiles/2021-04-02/1.jpg">CSS代码
@charset "utf-8"; #main{ padding: 30px 0px; } #cart{ background: #FFFFFF; padding: 40px; } #cart h1{ line-height: 40px; padding: 0px 0px 10px 0px; } table.form{ border-collapse: collapse; empty-cells: show; margin: 20px 0px; padding: 0px; table-layout: fixed; width: 100%; } table.form th, table.form td{ border-bottom: 1px solid #DDDDDD; padding: 15px 10px; text-align: left; } table.form{ border-top: 3px solid #DDDDDD; } .goods .goods-image img{ border: 1px solid #DDDDDD; float: left; height: 100px; margin: 0px 20px 0px 0px; } .goods .goods-information{ float: left; } .goods .goods-information ul{ color: #666666; font-size: 12px; line-height: 20px; margin:10px 0px 0px 0px; } .price, .amount, #total-amount{ color: #E00000; } #total-amount{ font-size: 22px; } .price em, .amount em, #total-amount em{ font-style: normal; } .combo .combo-minus, .combo .combo-value, .combo .combo-plus{ background: #FFFFFF; border: 1px solid #DDDDDD; color: #333333; float: left; font-weight: bold; margin: 0px; outline: none; text-align: center; } .combo .combo-minus, .combo .combo-plus{ font-size: 16px; height: 26px; line-height: 26px; padding: 0px; width: 24px; } .combo .combo-value{ border-left: none; border-right: none; height: 20px; line-height: 20px; padding: 2px; width: 40px; } #cart-delete{ margin-left: 20px; } #settlement{ background: #E00000; border: none; color: #FFFFFF; float: right; font-size: 16px; height: 40px; line-height: 40px; margin: 0px; outline: none; padding: 0px; width: 160px; }HTML代码
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>商城</title> <link rel="stylesheet" href="./css/common.css" rel="external nofollow" > <link rel="stylesheet" href="./iconfont/iconfont.css" rel="external nofollow" > <link rel="stylesheet" href="./css/cart.css" rel="external nofollow" > <script type="text/javascript" src="/UploadFiles/2021-04-02/jquery-3.1.1.js">注:CSS样式代码由于太多上面没有给全,只给了主要代码。小伙伴们可以根据实际情况修改样式。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年11月16日
2024年11月16日
- 中国武警男声合唱团《辉煌之声1天路》[DTS-WAV分轨]
- 紫薇《旧曲新韵》[320K/MP3][175.29MB]
- 紫薇《旧曲新韵》[FLAC/分轨][550.18MB]
- 周深《反深代词》[先听版][320K/MP3][72.71MB]
- 李佳薇.2024-会发光的【黑籁音乐】【FLAC分轨】
- 后弦.2012-很有爱【天浩盛世】【WAV+CUE】
- 林俊吉.2012-将你惜命命【美华】【WAV+CUE】
- 晓雅《分享》DTS-WAV
- 黑鸭子2008-飞歌[首版][WAV+CUE]
- 黄乙玲1989-水泼落地难收回[日本天龙版][WAV+CUE]
- 周深《反深代词》[先听版][FLAC/分轨][310.97MB]
- 姜育恒1984《什么时候·串起又散落》台湾复刻版[WAV+CUE][1G]
- 那英《如今》引进版[WAV+CUE][1G]
- 蔡幸娟.1991-真的让我爱你吗【飞碟】【WAV+CUE】
- 群星.2024-好团圆电视剧原声带【TME】【FLAC分轨】