Уменьшение товара в корзине js/jquery
Подскажите пожалуйста как исправить, есть код (нашёл его на ютубе в видеоуроке по созданию корзины), при добавлении товара в корзину всё ок, товар плюсуется, при уменьшении товара, значение доходит до 0, а дальше идёт в минус, то-есть -1, -2,-5,-10 и т. д
Как это пофиксить? Кто подскажет буду очень сильно благодарен
Вот код :
var cart = {};
function loadCart() {
//Проверка есть ли в localStorage запись cart
if (localStorage.getItem('cart')) {
//если есть - расшифровываю и записываю в переменную cart
cart = JSON.parse(localStorage.getItem('cart'));
console.log(isEmpty(cart));
showCart();
}
else {
$('.main-cart').html('Корзина пуста!');
}
}
function showCart() {
if (!isEmpty(cart)) {
$('.main-cart').html('Корзина пуста!')
}
else {
$.getJSON('goods.json', function (data) {
var goods = data;
var out = '';
for (var id in cart) {
out += `x`;
out += ``;
out += ` ${goods[id].name }`;
out += ` -` ;
out += `${cart[id] }`;
out += ` +` ;
out += cart[id]*goods[id].cost;
out += '
';
}
$('.main-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];
var value = parseInt($input.val());
if (value > 1) {
value = value - 1;
} else {
value = 0;
}
$input.val(value);
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]--;
}
cart[id]--;
saveCart();
showCart();
}
function saveCart() {
//Сохраняю корзину в localStorage
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();
});