使用jQuery實(shí)現(xiàn)購(gòu)物車
本文實(shí)例為大家分享了jQuery實(shí)現(xiàn)購(gòu)物車的具體代碼,供大家參考,具體內(nèi)容如下
HTML代碼
<body>
<div id="goodsStore">
<table>
<caption>儲(chǔ) 物 倉(cāng)</caption>
<thead>
<tr>
<td>商品編號(hào)</td>
<td>商品名稱</td>
<td>商品單價(jià)</td>
<td>商品顏色</td>
<td>商品庫(kù)存</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="加入購(gòu)物車" onclick="addGoods(this);" />
</td>
</tr>
<tr>
<td>2018090202</td>
<td>鍵盤</td>
<td>45</td>
<td>白色</td>
<td>300</td>
<td>
<input type="button" value="加入購(gòu)物車" onclick="addGoods(this);" />
</td>
</tr>
<tr>
<td>2018090203</td>
<td>顯示器</td>
<td>880</td>
<td>黑色</td>
<td>200</td>
<td>
<input type="button" value="加入購(gòu)物車" 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="加入購(gòu)物車" onclick="addGoods(this);" />
</td>
</tr>
</tbody>
</table>
</div>
<div id="goodsPay">
<table>
<caption>購(gòu) 物 車</caption>
<thead>
<tr>
<td>商品編號(hào)</td>
<td>商品名稱</td>
<td>商品單價(jià)</td>
<td>商品顏色</td>
<td>購(gòu)買數(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; //定義全局變量:購(gòu)物車商品總計(jì)
$(function() {
//頁(yè)面加載完成后給全局變量賦值
sum = $("#sum");
})
function addGoods(btn) {
var td = $(btn).parent();
var tr = $(td).parent();
var tds = $(tr).children();
//創(chuàng)建一個(gè)行節(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) {
//獲取按鈕的上一個(gè)兄弟
var txt = $(btn).prev();
txt.val(parseFloat(txt.val()) + 1);
//獲取該商品的單價(jià)
var price = $(btn).parent().prev().prev();
//更新總計(jì)
var s = parseFloat(sum.html());
sum.html(s + parseFloat(price.html()));
}
function reduce(btn) {
//獲取按鈕的下一個(gè)兄弟
var txt = $(btn).next();
if (parseFloat(txt.val()) == 1) {
return;
}
txt.val(parseFloat(txt.val()) - 1);
//獲取該商品的單價(jià)
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();
//獲取該商品的單價(jià)
var price = $(btn).parent().siblings().eq(2);
//更新總計(jì)
var s = parseFloat(sum.html());
sum.html(s - parseFloat(price.html()));
}
</script>
最終效果

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
在jQuery ajax中按鈕button和submit的區(qū)別分析
昨天在使用jQuery ajax的post方法進(jìn)行頁(yè)面?zhèn)髦?,無(wú)刷新獲取數(shù)據(jù)展示,弄了半天就是沒(méi)有效果,看了半天也沒(méi)有語(yǔ)法錯(cuò)誤,最后才終于明白問(wèn)題出在哪里2012-10-10
jQuery實(shí)現(xiàn)列表自動(dòng)循環(huán)滾動(dòng)鼠標(biāo)懸停時(shí)停止?jié)L動(dòng)
需要在頁(yè)面中一個(gè)小的區(qū)域循環(huán)滾動(dòng)展示新聞并且鼠標(biāo)懸停時(shí)停止?jié)L動(dòng)并提示,離開后,繼續(xù)滾動(dòng),具體實(shí)現(xiàn)如下,喜歡的朋友可以參考下2013-09-09
jquery中郵箱地址 URL網(wǎng)站地址正則驗(yàn)證實(shí)例代碼
QQ網(wǎng)站有一個(gè)網(wǎng)站舉報(bào)的功能,看了一些js代碼覺(jué)得寫得很不錯(cuò),我就拿下來(lái)了,下面是一個(gè)email驗(yàn)證與url網(wǎng)址驗(yàn)證js代碼,分享給大家2013-09-09
jQuery實(shí)現(xiàn)ichat在線客服插件
這篇文章主要介紹了jQuery實(shí)現(xiàn)ichat在線客服插件,需要的朋友可以參考下2014-12-12
Jquery操作下拉框(DropDownList)實(shí)現(xiàn)取值賦值
Jquery操作下拉框(DropDownList)想必大家都有所接觸吧,下面與大家分享下對(duì)DropDownList進(jìn)行取值賦值的實(shí)現(xiàn)代碼2013-08-08

