色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

JavaScript仿淘寶購物車

陳宇航1年前6瀏覽0評論

今天我們來討論一下JavaScript實現一個仿淘寶購物車的功能。在淘寶購物車中,我們可以看到購買的商品信息,包括商品的名稱、價格、數量、小計等信息。而為了實現這些功能,我們需要掌握一些關鍵的JavaScript知識點。

首先,我們需要實現一個購物車列表。在HTML中,可以使用一個table元素來展示購物車中的商品信息。每個商品應該是一個單獨的行,包括商品的名稱、價格、數量、小計等信息。下面是一個簡單的示例代碼:

<table>
<thead>
<tr>
<th>商品名稱</th>
<th>單價</th>
<th>數量</th>
<th>小計</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>商品A</td>
<td>100</td>
<td><input type="number" value="1"></td>
<td>100</td>
<td><button>刪除</button></td>
</tr>
<tr>
<td>商品B</td>
<td>200</td>
<td><input type="number" value="2"></td>
<td>400</td>
<td><button>刪除</button></td>
</tr>
</tbody>
</table>

接下來,我們需要編寫JavaScript代碼來實現購物車的功能。首先是商品的數量和價格的計算。我們可以使用事件監聽器來監聽每個商品數量輸入框的變化,并在變化時重新計算小計的值。代碼如下:

const inputs = document.querySelectorAll('input[type="number"]');
inputs.forEach(input => {
input.addEventListener('change', e => {
const row = e.target.closest('tr');
const price = Number(row.querySelector('td:nth-of-type(2)').textContent);
const quantity = Number(e.target.value);
const subtotal = price * quantity;
row.querySelector('td:nth-of-type(4)').textContent = subtotal;
});
});

我們還需要在刪除按鈕上添加事件監聽器,以便在用戶點擊時從購物車中刪除相應的商品。例如:

const buttons = document.querySelectorAll('button');
buttons.forEach(button => {
button.addEventListener('click', e => {
const row = e.target.closest('tr');
row.remove();
});
});

最后,我們需要計算整個購物車的總價,并將其顯示在頁面上。我們可以使用一個reduce函數來計算總價,并將其插入到頁面上。例如:

const totals = Array.from(document.querySelectorAll('tbody tr'))
.map(row => Number(row.querySelector('td:nth-of-type(4)').textContent))
.reduce((a, b) => a + b, 0);
document.querySelector('#total').textContent = totals;

在示例代碼中,我們首先將每一個商品的小計值提取出來,然后使用reduce函數來計算總價。最后,我們將總價插入到頁面中的一個元素中。

以上是一個基本的JavaScript仿淘寶購物車的實現。通過使用事件監聽器和reduce函數,我們可以很容易地實現購物車中的各種功能。在實際開發中,你還可以考慮添加一些額外的功能,例如清空購物車、修改商品信息等。