這篇文章主要為大家詳細介紹了使用jQuery實作購物車,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實體為大家分享了jQuery實作購物車的具體代碼,供大家參考,具體內容如下
HTML代碼
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
<body>
<div id="goodsStore">
<table>
<caption>儲 物 倉</caption>
<thead>
<tr>
<td>商品編號</td>
<td>商品名稱</td>
<td>商品單價</td>
<td>商品顏色</td>
<td>商品庫存</td>
<td>操作</td>
</tr>
</thead>
<tbody>
<tr>
<td>2018090201</td>
<td>滑鼠</td>
<td>78</td>
<td>黑色</td>
<td>500</td>
<td>
<input type="button" value="加入購物車" onclick="addGoods(this);" />
</td>
</tr>
<tr>
<td>2018090202</td>
<td>鍵盤</td>
<td>45</td>
<td>白色</td>
<td>300</td>
<td>
<input type="button" value="加入購物車" onclick="addGoods(this);" />
</td>
</tr>
<tr>
<td>2018090203</td>
<td>顯示幕</td>
<td>880</td>
<td>黑色</td>
<td>200</td>
<td>
<input type="button" value="加入購物車" onclick="addGoods(this);" />
</td>
</tr>
<tr>
<td>2018090204</td>
<td>主機</td>
<td>2332</td>
<td>藍色</td>
<td>350</td>
<td>
<input type="button" value="加入購物車" onclick="addGoods(this);" />
</td>
</tr>
</tbody>
</table>
</div>
<div id="goodsPay">
<table>
<caption>購 物 車</caption>
<thead>
<tr>
<td>商品編號</td>
<td>商品名稱</td>
<td>商品單價</td>
<td>商品顏色</td>
<td>購買數量</td>
<td>單項小計</td>
<td>操作</td>
</tr>
</thead>
<tbody id="gwc">
</tbody>
<tfoot>
<tr>
<td colspan="5">總計</td>
<td colspan="2" id="sum">0</td>
</tr>
</tfoot>
</table>
</div>
</body>
|
CSS代碼
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
<style>
* {
margin: 0;
padding: 0;
}
div {
width: 1000px;
height: 350px;
border: 3px solid #ccc;
margin: 5px auto;
overflow: auto;
}
table {
border-collapse: collapse;
width: 100%;
}
td {
border: 1px solid black;
text-align: center;
height: 30px;
}
caption {
font-size: 28px;
font-weight: bold;
}
#gwc input[type="text"] {
width: 30px;
margin-left: 4px;
margin-right: 4px;
}
#gwc input[type="button"] {
width: 20px;
}
</style>
|
JavaScript代碼
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
<script src=https://www.cnblogs.com/ypha/archive/2020/11/11/"jquery-1.11.1/jquery.js"></script>
<script>
var sum; //定義全域變數:購物車商品總計
$(function() {
//頁面加載完成后給全域變數賦值
sum = $("#sum");
})
function addGoods(btn) {
var td = $(btn).parent();
var tr = $(td).parent();
var tds = $(tr).children();
//創建一個行節點
var newTr = $("<tr></tr>");
//給行節點賦值
newTr.html(
'<td>' + tds[0].innerHTML + '</td>' +
'<td>' + tds[1].innerHTML + '</td>' +
'<td>' + tds[2].innerHTML + '</td>' +
'<td>' + tds[3].innerHTML + '</td>' +
'<td>' +
'<input type="button" value="https://www.cnblogs.com/ypha/archive/2020/11/11/-" onclick="reduce(this)" />' +
'<input type="text" value="https://www.cnblogs.com/ypha/archive/2020/11/11/1" readonly />' +
'<input type="button" value="https://www.cnblogs.com/ypha/archive/2020/11/11/+" onclick="add(this)" />' +
'</td>' +
'<td>' +
tds[2].innerHTML +
'</td>' +
'<td>' +
'<input type="button" value="https://www.cnblogs.com/ypha/archive/2020/11/11/X" onclick="deleteGoods(this);" />' +
'</td>'
);
//追加新節點
$("#gwc").append(newTr);
//更新總計
var s = parseFloat(sum.html());
sum.html(s + parseFloat(tds[2].innerHTML));
}
function add(btn) {
//獲取按鈕的上一個兄弟
var txt = $(btn).prev();
txt.val(parseFloat(txt.val()) + 1);
//獲取該商品的單價
var price = $(btn).parent().prev().prev();
//更新總計
var s = parseFloat(sum.html());
sum.html(s + parseFloat(price.html()));
}
function reduce(btn) {
//獲取按鈕的下一個兄弟
var txt = $(btn).next();
if (parseFloat(txt.val()) == 1) {
return;
}
txt.val(parseFloat(txt.val()) - 1);
//獲取該商品的單價
var price = $(btn).parent().prev().prev();
//更新總計
var s = parseFloat(sum.html());
sum.html(s - parseFloat(price.html()));
}
function deleteGoods(btn) {
//獲取當前行
var tr = $(btn).parent().parent();
//洗掉當前行
tr.remove();
//獲取該商品的單價
var price = $(btn).parent().siblings().eq(2);
//更新總計
var s = parseFloat(sum.html());
sum.html(s - parseFloat(price.html()));
}
</script>
|
最終效果

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持我
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/210533.html
標籤:其他
下一篇:元素居中顯示方法總結
