function updatePrice() { let items = document.querySelectorAll('.item'); let totalNum = 0; let totalPrice = 0; items.forEach(function(item) { if (item.querySelector('.item_checkbox').checked) { let num = item.querySelector('.num').value; totalNum = totalNum + parseInt(num); let price = item.querySelector('.price_2').getAttribute('data-price'); totalPrice = totalPrice + parseFloat(price) * num; } }); document.querySelector('.checked_num').innerText = totalNum; document.querySelector('.total_price').innerText = totalPrice; } window.onload = function() { let itemCheckboxes = document.querySelectorAll('.item_checkbox'); itemCheckboxes.forEach(function (itemCheckbox) { itemCheckbox.onchange = function() { updatePrice(); } }); }
时间: 2024-04-01 13:32:08 浏览: 314
js中document.getElementByid、document.all和document.layers区分介绍
这段代码的功能是更新购物车中选中商品的数量和总价,并且在页面中展示出来。具体实现方法如下:
1. 获取所有商品的节点元素,并使用forEach方法进行遍历。
2. 判断当前商品的复选框是否被选中,如果选中了则获取商品数量和单价,并计算出总数量和总价。
3. 将计算出的总数量和总价分别设置到页面中对应的元素上。
4. 在页面加载完成后获取所有商品复选框的节点元素,并为每个复选框的onchange事件绑定updatePrice函数,即当复选框状态改变时更新购物车信息。
总的来说,这段代码实现了购物车中商品数量和总价的实时更新,提高了用户体验。
阅读全文