html+css+jQuery实现购物车功能

时间:2025-01-14 18:42:35
<script src="../jquery-1.9."></script> <script> //加入购物车 function add_shoppingcart(btn) { // 判断要加入购物车的商品是否已经在购物车中存在 var $tr = $(btn).parents("tr"); // 找到点击事件的那一行 var name = $tr.children("td:eq(0)").html(); var state = $("#goods td:contains("+name+")"); var price = $tr.children("td:eq(1)").html(); if (state.length == 0){ // 说明该商品尚未加入购物车 var node = "<tr><td>"+name+"</td>"+ "<td>"+price+"</td>"+ "<td><input type='button' οnclick='decrease(this)' value='-'/>" + "<input type='text' size='3' value='1'/>"+ "<input type='button' οnclick='increase(this)' value='+'/>"+ "</td><td>"+price+"</td><td><input type='button' value='x' οnclick='del(this)'/></td></tr>"; // ((node)); $("#goods").append(node); // 修改总金额 // ("总金额增加:"+price); setTotal(price); } else { // 该商品已经加入购物车 // 找到该商品所在位置,在数量上加1 increase(state.parent().children("td:eq(2)").children("input:eq(2)")[0]); } } function decrease(btn) { // 找到该行的总金额那一列 var total = $(btn).parent().next("td"); // 找到该商品在购物车里的数量对应的节点 var num = $(btn).next("input"); // 获取单价 var price = $(btn).parent().prev("td").html(); if (parseInt(num.val()) <= 0){ num.val("0"); } else { num.val(parseInt(num.val())-1); // 修改总金额 total.html(parseInt(num.val())*parseInt(price)); // 修改购物车的总金额 setTotal(-parseInt(price)); } } function increase(btn){ // 找到该行的总金额那一列 var total = $(btn).parent().next("td"); // 获取单价 var price = $(btn).parent().prev("td").html(); // 找到该商品在购物车里的数量对应的节点 var num = $(btn).prev("input"); // (()); num.val(parseInt(num.val())+1); // 修改总额 total.html(parseInt(num.val())*parseInt(price)); // 修改购物车的总金额 setTotal(price); } function del(btn){ // 删除按钮 // 获取删除节点对应的节点 var $td = $(btn).parent(); // 获取该商品总共的金额(数量*单价) var total = $td.prev("td").html(); // 删除该行 $td.parent().remove(); // 修改总额 setTotal(-total); } function setTotal(price){ // 修改购物车总金额 console.log("要修改的总额:"+price); var total = $("tfoot td:eq(1)"); total.html(parseInt(total.html())+parseInt(price)); } </script>