Javascript 无法减去购物车中的总价格,但我在刷新页面时得到了正确的价格
我正在建立一个电子商务网站,有两个页面和两个Javascript文件,即:(index.html、cart.html、apps.js和cart.js)。单击“删除”按钮后,如何减去购物车(cart.html)中的总价 这是我的代码:Javascript 无法减去购物车中的总价格,但我在刷新页面时得到了正确的价格,javascript,html,json,Javascript,Html,Json,我正在建立一个电子商务网站,有两个页面和两个Javascript文件,即:(index.html、cart.html、apps.js和cart.js)。单击“删除”按钮后,如何减去购物车(cart.html)中的总价 这是我的代码: // cart functionality table.addEventListener("click", event => { if (event.target.classList.contains('fa-close')) {
// cart functionality
table.addEventListener("click", event => {
if (event.target.classList.contains('fa-close')) {
let removeItem = event.target;
console.log('df', removeItem);
let id = removeItem.dataset.id;
console.log(id);
table.removeChild(removeItem.parentElement.parentElement);
var obj = JSON.parse(localStorage.getItem("cart")) || {}; //fetch cart from storage
var items = obj || []; //get the products
for (var i = 0; i < items.length; i++) { //loop over the collection
if (items[i].id === id) { //see if ids match
items.splice(i, 1); //remove item from array
break; //exit loop
}
}
localStorage.setItem("cart", JSON.stringify(obj)); //set item back into storage
//decreasing the cart length
var cal = JSON.parse(localStorage.getItem('cart'));
if (cal.length != 0) {
cart_n.innerHTML = `[${cal.length}]`;
} else {
cart_n.innerHTML = '';
}
//subtractTotal cart
cal.find(item => {
tempTotal = 0;
tempTotal = item.price * item.id
})
row.innerHTML = tempTotal;
}
});
//购物车功能
table.addEventListener(“单击”,事件=>{
if(event.target.classList.contains('fa-close')){
让removietem=event.target;
console.log('df',removietem);
设id=removietem.dataset.id;
console.log(id);
table.removeChild(removietem.parentElement.parentElement);
var obj=JSON.parse(localStorage.getItem(“cart”))|{};//从存储中提取购物车
var items=obj | |[];//获取产品
对于集合上的(var i=0;i{
总人数=0;
试探总额=item.price*item.id
})
row.innerHTML=testotal;
}
});
我在下面的代码中根据我认为您正在努力实现的目标发表了一些评论
//购物车功能
table.addEventListener(“单击”,事件=>{
//我们可以首先检查元素是否不(!)包含类
//这意味着您不需要包装代码的其余部分
//因为当条件不满足时,它会提前返回
如果(!event.target.classList.contains('fa-close')){
返回;
}
让removietem=event.target;
console.log('df',removietem);
设id=removietem.dataset.id;
console.log(id);
table.removeChild(removietem.parentElement.parentElement);
//您是否应该在此处将`obj`设置为`{}`?(当它不存在时)
//不能像在任何数组上循环一样在对象上循环
//看起来应该改为将其设置为“[]`
让obj=JSON.parse(localStorage.getItem(“cart”))| |{};//从存储中提取购物车
让items=obj | |[];//获取产品
对于(设i=0;i{
//使用价格增加总诱惑`+=`
//我删除了“*item.id”,因为它没有
//将'price'乘以'id'的意义`
试探总额+=项目价格;
//如果项目具有“数量”属性
//您将使用此代码而不是上面的行
试探总额+=item.price*item.quantity;
});
row.innerHTML=testotal;
});
我在下面的代码中根据我认为您正在努力实现的目标发表了一些评论
//购物车功能
table.addEventListener(“单击”,事件=>{
//我们可以首先检查元素是否不(!)包含类
//这意味着您不需要包装代码的其余部分
//因为当条件不满足时,它会提前返回
如果(!event.target.classList.contains('fa-close')){
返回;
}
让removietem=event.target;
console.log('df',removietem);
设id=removietem.dataset.id;
console.log(id);
table.removeChild(removietem.parentElement.parentElement);
//您是否应该在此处将`obj`设置为`{}`?(当它不存在时)
//不能像在任何数组上循环一样在对象上循环
//看起来应该改为将其设置为“[]`
让obj=JSON.parse(localStorage.getItem(“cart”))| |{};//从存储中提取购物车
让items=obj | |[];//获取产品
对于(设i=0;i