Нигде не могу найти как решить эту проблему. Суть заключается в том, что есть корзина покупателя, пользователь кладёт в корзину n товаров и рядом с товаром выводится сумма(умножается кол-во на стоимость 1 товара), и нужно чтобы все эти суммы также суммировались в 1 значение(надо - итого: ****). Если не трудно, буду очень рад готовому решению, так так пока учусь и мало чего понимаю из javascript'a
Сам код:
var cart = {};
function loadCart() {
if (localStorage.getItem('cart')) {
cart = JSON.parse(localStorage.getItem('cart'));
showCart();
}
else {
$('.page-cart').html('В корзине нет товаров.');
}
}
function showCart() {
if (!isEmpty(cart)) {
$('.page-cart').html('В корзине нет товаров.');
}
else {
$.getJSON('goods.json', function (data) {
var goods = data;
var out = '';
for (var id in cart) {
out += '<div class="page-cart__item">';
out += '<img src="img/'+goods[id].img+'">';
out += '<p class="cart-name">'+goods[id].name+'</p>';
out += '<button data-id="'+id+'" class="minus-goods">-</button>';
out += '<div class="cart-number">'+cart[id]+'</div>';
out += '<button data-id="'+id+'" class="plus-goods">+</button>';
out += '<div class="cart-cost">'+cart[id]*goods[id].cost+' руб.</div>';
out += '<button data-id="'+id+'" class="del-goods">x</button>';
out += '<br>';
out += '<hr>';
out += '</div>';
}
$('.page-cart').html(out);
$('.del-goods').on('click', delGoods);
$('.plus-goods').on('click', plusGoods);
$('.minus-goods').on('click', minusGoods);
});
}
}
function delGoods() {
var id = $(this).attr('data-id');
delete cart[id];
saveCart();
showCart();
}
function plusGoods() {
var id = $(this).attr('data-id');
cart[id]++;
saveCart();
showCart();
}
function minusGoods() {
var id = $(this).attr('data-id');
if (cart[id]==1) {
delete cart[id];
} else {
cart[id]--;
}
saveCart();
showCart();
}
function saveCart() {
localStorage.setItem('cart', JSON.stringify(cart));
}
function isEmpty(object) {
for (var key in object)
if (object.hasOwnProperty(key)) return true;
return false;
}
$(document).ready(function () {
loadCart();
});