使用jQuery實(shí)現(xiàn)購物車
本文實(shí)例為大家分享了jQuery實(shí)現(xiàn)購物車的具體代碼,供大家參考,具體內(nèi)容如下
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>鼠標(biāo)</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>主機(jī)</td>
<td>2332</td>
<td>藍(lán)色</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>單項(xiàng)小計(jì)</td>
<td>操作</td>
</tr>
</thead>
<tbody id="gwc">
</tbody>
<tfoot>
<tr>
<td colspan="5">總計(jì)</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; //定義全局變量:購物車商品總計(jì)
$(function() {
//頁面加載完成后給全局變量賦值
sum = $("#sum");
})
function addGoods(btn) {
var td = $(btn).parent();
var tr = $(td).parent();
var tds = $(tr).children();
//創(chuàng)建一個行節(jié)點(diǎn)
var newTr = $("<tr></tr>");
//給行節(jié)點(diǎn)賦值
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é)點(diǎn)
$("#gwc").append(newTr);
//更新總計(jì)
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();
//更新總計(jì)
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();
//更新總計(jì)
var s = parseFloat(sum.html());
sum.html(s - parseFloat(price.html()));
}
function deleteGoods(btn) {
//獲取當(dāng)前行
var tr = $(btn).parent().parent();
//刪除當(dāng)前行
tr.remove();
//獲取該商品的單價
var price = $(btn).parent().siblings().eq(2);
//更新總計(jì)
var s = parseFloat(sum.html());
sum.html(s - parseFloat(price.html()));
}
</script>
最終效果

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
jQuery實(shí)現(xiàn)的經(jīng)典豎向伸縮菜單效果代碼
這篇文章主要介紹了jQuery實(shí)現(xiàn)的經(jīng)典豎向伸縮菜單效果代碼,通過jQuery響應(yīng)鼠標(biāo)事件遍歷頁面元素實(shí)現(xiàn)伸縮菜單的效果,非常簡單實(shí)用,需要的朋友可以參考下2015-09-09
jquery獲取div寬度的實(shí)現(xiàn)思路與代碼
DIV的width寬度如何獲取呢?接下來介紹使用jquery獲取DIV的width寬度,感興趣的朋友可以了解下的2013-01-01
jQuery中slideUp 和 slideDown 的點(diǎn)擊事件
這篇文章主要介紹了jQuery中slideUp 和 slideDown 的點(diǎn)擊事件的相關(guān)資料,需要的朋友可以參考下2015-02-02
基于jQuery實(shí)現(xiàn)數(shù)字滾動效果
本文主要分享了基于jQuery實(shí)現(xiàn)數(shù)字滾動效果的示例代碼,附源碼下載。具有一定的參考價值,下面跟著小編一起來看下吧2017-01-01
jquery實(shí)現(xiàn)的table排序功能示例
這篇文章主要介紹了jquery實(shí)現(xiàn)的table排序功能,涉及基于jQuery的頁面元素屬性動態(tài)操作及鼠標(biāo)事件響應(yīng)相關(guān)技巧,需要的朋友可以參考下2017-03-03
jquery中g(shù)et,post和ajax方法的使用小結(jié)
本篇文章主要是對jquery中g(shù)et,post和ajax方法的使用進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-02-02
使用jQuery.form.js/springmvc框架實(shí)現(xiàn)文件上傳功能
這篇文章主要介紹了使用jQuery.form.js/springmvc框架實(shí)現(xiàn)文件上傳功能,非常具有參考借鑒價值,感興趣的朋友一起學(xué)習(xí)吧2016-05-05
jquery實(shí)現(xiàn)動態(tài)改變div寬度和高度
這篇文章主要介紹了jquery實(shí)現(xiàn)動態(tài)改變div寬度和高度,效果非常不錯,而且兼容性也很好,有需要的小伙伴可以參考下。2015-05-05

