سلام من این تابع زیر رو به عنوان آرگومان به foreach که توی تابع getCartLocalStorage هستش دادم ولی اگه چند تا محصول به سبد خرید اضافه بشه بعد رفرش تعداد اون محصول درست نمایش داده نمیشه.
این تابع :
function createItemCart(
imgProduct,
titleProduct,
priceProduct,
totalPrice,
id
) {
const itemsCart = document.getElementById("items-cart");
document.querySelector(".total-price").innerText = totalPrice + priceProduct;
const item = document.createElement("div");
item.setAttribute("class", "item-cart");
const imgItem = document.createElement("img");
imgItem.src = imgProduct;
const detailItem = document.createElement("div");
const titleItem = document.createElement("div");
titleItem.setAttribute("class", "title-item");
titleItem.innerText = titleProduct;
const divPrice = document.createElement("div");
const priceItem = document.createElement("span");
priceItem.setAttribute("class", "price-item");
priceItem.innerText = priceProduct;
const spanToman = document.createElement("span");
spanToman.innerText = "تومان";
const qtyItem = document.createElement("div");
qtyItem.className = "qty-item";
qtyItem.innerText = "1";
qtyItem.id = "item" + id;
const deleteItem = document.createElement("i");
deleteItem.className = "delete-item";
deleteItem.innerText = "x";
deleteItemCart(deleteItem, totalPrice, priceProduct);
detailItem.appendChild(titleItem);
detailItem.appendChild(divPrice);
detailItem.appendChild(qtyItem);
divPrice.appendChild(priceItem);
divPrice.appendChild(spanToman);
item.appendChild(imgItem);
item.appendChild(detailItem);
item.appendChild(deleteItem);
itemsCart.appendChild(item);
}
تابع بالا رو به عنوان آرگومان به foreach زیر دادم:
function getCartLocalStorage() {
if (localStorage.getItem("cart")) {
document.querySelector(".empty-cart").style.display = "none";
document.querySelector(".buy-cart").style.display = "block";
let items = JSON.parse(localStorage.getItem("cart"));
const itemsCart = document.getElementById("items-cart");
let sumQty = 0;
let totalPrice = 0;
items.forEach((itemCart) => {
createItemCart(
itemCart.img,
itemCart.title,
itemCart.price,
itemCart.totalPrice,
itemCart.id
);
totalPrice += itemCart.price * itemCart.qty;
document.querySelector(".total-price").innerText = totalPrice;
sumQty += itemCart.qty;
document.getElementById("number").innerText = sumQty;
});
}
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟