<!DOCTYPE html>
<html>
<head>
<title>購(gòu)物車</title>
<meta charset="utf-8" />
<style type="text/css">
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>
function del(btn) {
btn.parentNode.parentNode.remove();
map.delete(btn.parentNode.parentNode.cells[0].innerHTML);
sum();
}
function increase(btn) {
var input = btn.previousElementSibling;
var count = parseInt(input.value);
count++;
input.value = count;
//重新計(jì)算金額
var td = btn.parentNode.previousElementSibling;
var single_price = parseInt(td.innerHTML);
var price = single_price*count;
btn.parentNode.nextElementSibling.innerHTML = price;
sum();
}
function decrease(btn) {
var input = btn.nextElementSibling;
var count = parseInt(input.value);
if(count <= 1)
{
count = 1;
}
else{
count--;
}
input.value = count;
//重新計(jì)算金額
var td = btn.parentNode.previousElementSibling;
var single_price = parseInt(td.innerHTML);
var price = single_price*count;
btn.parentNode.nextElementSibling.innerHTML = price;
sum();
}
var map = new Map();
function add_shoppingcart(btn) {
var tbody = document.getElementById('goods');
// alert(btn.parentNode.parentNode.cells[0].innerHTML);
// alert(btn.parentNode.parentNode.children[0].innerHTML);
var goods_name = btn.parentNode.parentNode.cells[0].innerHTML;
if(map.has(goods_name))
{
var tr = map.get(goods_name);
increase(tr.cells[2].lastElementChild);
}
else
{
var goods_price = btn.parentNode.parentNode.cells[1].innerHTML;
//生成一行tr
var tr = document.createElement('tr');
var html = `<td>${goods_name}</td>
<td>${goods_price}</td>
<td align="center">
<input type="button" value="-" onclick="decrease(this)"/>
<input type="text" size="3" readonly value="1"/>
<input type="button" value="+" onclick="increase(this)"/>
</td>
<td>${goods_price}</td>
<td align="center">
<input type="button" value="x" onclick="del(this)"/>
</td>`;
tr.innerHTML = html;
tbody.appendChild(tr);
// map.put(key,value);
map.set(goods_name, tr);
}
sum();
}
function sum() {
var tbody = document.getElementById('goods');
var total = 0;
for(var i = 0; i < tbody.children.length;i++)
{
var price = parseInt(tbody.children[i].cells[3].innerHTML);
total += price;
}
document.getElementById('total').innerHTML = total;
}
</script>
</head>
<body>
<h1>真劃算</h1>
<table>
<tr>
<th>商品</th>
<th>單價(jià)(元)</th>
<th>顏色</th>
<th>庫存</th>
<th>好評(píng)率</th>
<th>操作</th>
</tr>
<tr>
<td>羅技M185鼠標(biāo)</td>
<td>80</td>
<td>黑色</td>
<td>893</td>
<td>98%</td>
<td align="center">
<input type="button" value="加入購(gòu)物車" onclick="add_shoppingcart(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="加入購(gòu)物車" onclick="add_shoppingcart(this);"/>
</td>
</tr>
<tr>
<td>洛克iphone6手機(jī)殼</td>
<td>60</td>
<td>透明</td>
<td>672</td>
<td>99%</td>
<td align="center">
<input type="button" value="加入購(gòu)物車" onclick="add_shoppingcart(this);"/>
</td>
</tr>
<tr>
<td>藍(lán)牙耳機(jī)</td>
<td>100</td>
<td>藍(lán)色</td>
<td>8937</td>
<td>95%</td>
<td align="center">
<input type="button" value="加入購(gòu)物車" onclick="add_shoppingcart(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="加入購(gòu)物車" onclick="add_shoppingcart(this);"/>
</td>
</tr>
</table>
<h1>購(gòu)物車</h1>
<table>
<thead>
<tr>
<th>商品</th>
<th>單價(jià)(元)</th>
<th>數(shù)量</th>
<th>金額(元)</th>
<th>刪除</th>
</tr>
</thead>
<tbody id="goods">
<!--<tr>-->
<!--<td>羅技M185鼠標(biāo)</td>-->
<!--<td>80</td>-->
<!--<td align="center">-->
<!--<input type="button" value="-" onclick="decrease(this)"/>-->
<!--<input type="text" size="3" readonly value="1"/>-->
<!--<input type="button" value="+" onclick="increase(this)"/>-->
<!--</td>-->
<!--<td>80</td>-->
<!--<td align="center">-->
<!--<input type="button" value="x" onclick="del(this)"/>-->
<!--</td>-->
<!--</tr>-->
</tbody>
<tfoot>
<tr>
<td colspan="3" align="right">總計(jì)</td>
<td id="total"></td>
<td></td>
</tr>
</tfoot>
</table>
</body>
</html>
2018-03-05 購(gòu)物車
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門谒拴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來尝江,“玉大人,你說我怎么就攤上這事英上√啃颍” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵苍日,是天一觀的道長(zhǎng)惭聂。 經(jīng)常有香客問我,道長(zhǎng)相恃,這世上最難降的妖魔是什么辜纲? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮拦耐,結(jié)果婚禮上耕腾,老公的妹妹穿的比我還像新娘。我一直安慰自己杀糯,他們只是感情好扫俺,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著固翰,像睡著了一般狼纬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上倦挂,一...
- 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼先匪!你這毒婦竟也來了种吸?” 一聲冷哼從身側(cè)響起,我...
- 序言:老撾萬榮一對(duì)情侶失蹤呀非,失蹤者是張志新(化名)和其女友劉穎坚俗,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體岸裙,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡猖败,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了降允。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恩闻。...
- 正文 年R本政府宣布尉剩,位于F島的核電站,受9級(jí)特大地震影響犁嗅,放射性物質(zhì)發(fā)生泄漏边涕。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一褂微、第九天 我趴在偏房一處隱蔽的房頂上張望功蜓。 院中可真熱鬧,春花似錦宠蚂、人聲如沸式撼。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽著隆。三九已至,卻和暖如春呀癣,著一層夾襖步出監(jiān)牢的瞬間美浦,已是汗流浹背。 一陣腳步聲響...
- 正文 我出身青樓沼沈,卻偏偏與公主長(zhǎng)得像流酬,于是被迫代替她去往敵國(guó)和親币厕。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 1. tab列表折疊效果 html: 能源系統(tǒng)事業(yè)部 崗位名稱: 工作地點(diǎn) 崗位名...
- 1芽腾、垂直對(duì)齊 如果你用CSS旦装,則你會(huì)有困惑:我該怎么垂直對(duì)齊容器中的元素?現(xiàn)在摊滔,利用CSS3的Transform阴绢,...
- HTML 5 HTML5概述 因特網(wǎng)上的信息是以網(wǎng)頁的形式展示給用戶的,因此網(wǎng)頁是網(wǎng)絡(luò)信息傳遞的載體艰躺。網(wǎng)頁文件是用...
- 前端開發(fā)面試題 <a name='preface'>前言</a> 只看問題點(diǎn)這里 看全部問題和答案點(diǎn)這里 本文由我...
- 《成夏》 想一想 他若不貪命 也將過完前半生 從一片濕潤(rùn)之地去了沼澤 從沙漠又回到平原 來來回回描滔,騙過一些女人 親...