jquery實現購物車功能(1)
阿新 • • 發佈:2021-08-03
本文例項為大家分享了實現購物車功能的具體程式碼,供大家參考,具體內容如下
html
<!DOCTYPE html> <html> <head> <title>購物車</title> <meta charset="utf-8" /> <style type="text/"> h1 { text-align: center; } table { margin: 0 auto; width: 60%; border: 2px solid #aaa; border-collapse: collapse; } table th,table td { border: 2px solid #aaa; padding: 5px; } th { background-color: #eee; } </style> <script src="jquery-3.2.1.min."></script> <script src="gw.js"></script> </head> <body> <h1>真划算</h1> <table id="tb1"> <tr> <th>商品</th> <th>單價(元)</th> <th>顏色</th> <th>庫存</th> <th>好評率</th> <th>操作</th> </tr> <tr> <td>羅技M185滑鼠</td> <td>80</td> <td>黑色</td> <td>893</td> <td>98%</td> <td align="center"><input type="button" value="加入購物車" onclick="addshoping(this);" /></td> </tr> <tr> <td>微軟X470鍵盤</td> <td>150</td> <td>黑色</td> <td>9028</td> <td>96%</td> <td align="center"><input type="button" value="加入購物車" onclick="addshoping(this);" /></td> </tr> <tr> <td>洛克iphone6手機殼<gDwJoEjz/td> <td>60</td> <td>透明</td> <td>672</td> <td>99%</td> <td align="center"><input type="button" value="加入購物車" onclick="addshoping(this);" /></td> </tr> <tr> <td>藍芽耳機</td> <td>100</td> <td>藍色</td> <td>8937</td> <td>95%</td> <td align="center"><input type="button" value="加入購物車" onclick="addshoping(this);" /></td> </tr> <tr> <td>金士頓U盤</td> <td>70</td> <td>紅色</td> <td>482</td> <td>100%</td> <td align="center"><input type="button" value="加入購物車" onclick="addshoping(this);" /></td> </tr> </table> <h1>購物車</h1> <table> <thead> <tr> <th>商品</th> <th>單價(元)</th> <th>數量</th> <th>金額(元)</th> <th>刪除</th> </tr> </thead> <tbody id="goods"> </tbody> <tfoot> <tr> <www.cppcns.com;td colspan="3" align="right">總計</td> <td id="total"></td> <td></td> </tr> </tfoot> </table> </body> </html>
js
//新增購物車
function addshoping(btn) {
var name = $(btn).parent().siblings().eq(0).html()
var price = $(btn).parent().siblings().eq(1).html()
var trs = $("#goods tr")
var nameArr = new Array();
$.each(trs,function (index,value) {
nameArr.push($(this).children('td').eq(0).text())
})
var $tr = $('<tr>' +
'<td>' + name + '</td>' +
'<td>' + price + '</td>' +
'<td align="center">' +
'<input type="button" value="-" onclick="jian(this);"/> ' +
'<input type="number" size="3" readonly value="1"/> ' +
'<input type="button" value="+" onclick="increase(this);"/>' +
'</td>' +
'<td>' + price + '</td>' +
'<td align="center"><input type="button" value="x" onclick="del(this);"/></td>' +
'</tr>');
var ishasName = nameArr.indexOf(name)
if (ishasName >= 0) {
var goodcount=trs.eq(ishasName).children('td').eq(2).children().eq(1).val()
Number.parseInt(goodcount);
trs.eq(ishasName).children('td').eq(2).children().eq(1).val(++goodcount)
var price=trs.eq(ishasName).children('td').eq(1).html()
Number.parseInt(price)
trs.eq(ishasName).children('td').eq(3).html(goodcount*price);
} else {
// $tr.insertAfter($("#goods tr:eq(0)"))
$("#goods").append($tr);
http://www.cppcns.com }
var kucun = tds.eq(3).html()
Number.parseInt(kucun)
tds.eq(3).html(--kucun)
sum()
}
//增加
function increase(btn){
var num=$(btn).prev().val()
Number.parseInt(num);
var bignew=$(btn).prev().val(++num)
var price = $(btn).parent().prev().html();
$(btn).parent().next().html(num*price);
sum();
};
//減少
function jian(btn){
var num=$(btn).next().val()
if(num<=1){
return;
}
Number.parseInt(--num)
var price = $(btn).parent().prev().html();
var newprice=$(btn).parent().next().html();
$(btn).parent().next().html(newprice-price);
$(btn).next().val(num)
sum()
}
//刪除
function del(btn){
$(btn).parent().parent().remove()
sum();
}
//總和
function sum() {
// 獲取tbody下的所有行
var $trs = $("#goods tr");
// 遍歷他們
var sum = 0;
for (var i = 0; i < $trs.length; i++) {
// 獲取每一行
var $tr = $trs.eq(i);
// 獲取該行中第四列的值(金額)
var mny = $tr.children().eq(3).html();
sum += parseFloat(mny);
}
// 寫入到合計
$("#total").html(sum);
};
執行結果:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。