使用jQuery實現(xiàn)購物車
更新時間:2021年08月01日 11:06:25 作者:龍雅
這篇文章主要為大家詳細介紹了使用jQuery實現(xiàn)購物車,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了jQuery實現(xiàn)購物車的具體代碼,供大家參考,具體內容如下
HTML代碼
<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>購買數(shù)量</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代碼
<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代碼
<script src="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();
//創(chuàng)建一個行節(jié)點
var newTr = $("<tr></tr>");
//給行節(jié)點賦值
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="-" onclick="reduce(this)" />' +
'<input type="text" value="1" readonly />' +
'<input type="button" value="+" onclick="add(this)" />' +
'</td>' +
'<td>' +
tds[2].innerHTML +
'</td>' +
'<td>' +
'<input type="button" value="X" onclick="deleteGoods(this);" />' +
'</td>'
);
//追加新節(jié)點
$("#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>
最終效果

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
在jQuery ajax中按鈕button和submit的區(qū)別分析
昨天在使用jQuery ajax的post方法進行頁面?zhèn)髦?,無刷新獲取數(shù)據(jù)展示,弄了半天就是沒有效果,看了半天也沒有語法錯誤,最后才終于明白問題出在哪里2012-10-10
jQuery實現(xiàn)列表自動循環(huán)滾動鼠標懸停時停止?jié)L動
需要在頁面中一個小的區(qū)域循環(huán)滾動展示新聞并且鼠標懸停時停止?jié)L動并提示,離開后,繼續(xù)滾動,具體實現(xiàn)如下,喜歡的朋友可以參考下2013-09-09
Jquery操作下拉框(DropDownList)實現(xiàn)取值賦值
Jquery操作下拉框(DropDownList)想必大家都有所接觸吧,下面與大家分享下對DropDownList進行取值賦值的實現(xiàn)代碼2013-08-08

