Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
101 changes: 83 additions & 18 deletions JavaScript/basket.js
Original file line number Diff line number Diff line change
@@ -1,33 +1,44 @@
var cart = {};

function loadCart() {
//проверяю есть ли в localStorage запись cart
if (localStorage.getItem('cart')) {
// если есть - расширфровываю и записываю в переменную cart
cart = JSON.parse(localStorage.getItem('cart'));
showCart();
} else {
$(".cart").html("None");
$('.mainCart').html('cart is empty');
}
}

function showCart() {

//вывод корзины
if (!isEmpty(cart)) {
$('.mainCart').html('cart is empty');
} else {
$.getJSON('hoodie.json', function (data) {
var goods = data;
var out = '';
for (var id in cart) {
out += `<div class="cartBasket">`;
out += `<img class="imgBasket" src="img\\${goods[id].img_goods}">`;
out += ` ${goods[id].name }`;
out += ` ${cart[id] }`;
out += `<button data-id="${id}" class="minus-goods">-</button>`;
out += `<button data-id="${id}" class="del-goods"><img src="img/trash.png"></button>`;
out += `<button data-id="${id}" class="plus-goods">+</button>`;
out += cart[id]*goods[id].cost


function showCart() {
$.getJSON("posters.json", function (data) {
var goods = data;
var out = '';
for (var id in cart) {
out += `<div class="cartBasket">`;
out += `<img class="imgBasket" src="img\\${goods[id].img_goods}">`;
out += ` ${goods[id].name }`;
out += ` ${cart[id] }`;
out += `<button data-id="${id}" class="del-goods"><img src="img/trash.png"></button>`;
out += '</div>';
}
$('.cart').html(out);
$('.del-goods').on('click', delGoods);
})
};
out += '</div>';
}
$('.mainCart').html(out);
$('.del-goods').on('click', delGoods);
$('.plus-goods').on('click', plusGoods);
$('.minus-goods').on('click', minusGoods);
});
}
}

function delGoods() {
//удаляем товар из корзины
Expand All @@ -37,12 +48,66 @@ function delGoods() {
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 sendEmail (){
var ename = $('#ename').val();
var email = $('#email').val();
var ephone = $('#ephone').val();

if(ename!='' && email!='' && ephone!=''){
if(isEmpty(cart)){
$.post(
"core/mail/php",
{
"ename" : ename,
"email" : email,
"ephone" : ephone,
"cart" : cart
},
function(data){
console.log(dat);
}
);
}else{
alert('cart is empty');
}
}else{
alert('fill out');
}
}
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();

$('.send-email').on('click', sendEmail); // send to email buy basket
});
205 changes: 30 additions & 175 deletions JavaScript/style.js
Original file line number Diff line number Diff line change
@@ -1,193 +1,48 @@
var cart = {}; //корзина backet
function posters() {
// читаем файл goods.json
$.getJSON('posters.json', postersOut);
var cart = {};

function postersOut(data) {
// вывод на страницу
console.log(data);
var out = '';
for (var key in data) {
out += '<div class="card col">';
out += '<img clas="card_img_top img_goods" src="img/' + data[key].img_goods + '" alt="photo">';
out += '<div class="card-body">';
out += '<h5 class="card-title text-center name">' + data[key].name + '</h5>';
out += '<p class="card-text text-secondary text-center cost">' + data[key].cost + '</p>';
out += '</div>';
out += `<button type="button" class="btn btn-outline-secondary addToBacket" data-id="${key}">By</button>`;
out += '</div>';


}
$('.goods_outPosters').html(out);

}
function init() {
//read goods.json
$.getJSON("hoodie.json", goodsOut);
}
function Sticker() {
// читаем файл goods.json
$.getJSON('Stickers.json', StickersOut);

function StickersOut(data) {
// вывод на страницу
console.log(data);
var out = '';
for (var key in data) {
out += '<div class="card col">';
out += '<img clas="card_img_top img_goods" src="img/' + data[key].img_goods + '" alt="photo">';
out += '<div class="card-body">';
out += '<h5 class="card-title text-center name">' + data[key].name + '</h5>';
out += '<p class="card-text text-secondary text-center cost">' + data[key].cost + '</p>';
out += '</div>';
out += `<button type="button" class="btn btn-outline-secondary addToBacket" data-id="${key}">By</button>`;
out += '</div>';


}
$('.goods_outStickers').html(out);

function goodsOut(data) {
console.log(data);
var out = '';
for (var key in data) {
out += '<div class="card col">';
out += '<img clas="card_img_top img_goods" src="img/' + data[key].img_goods + '" alt="photo">';
out += '<div class="card-body">';
out += '<h5 class="card-title text-center name">' + data[key].name + '</h5>';
out += '<p class="card-text text-secondary text-center cost">' + data[key].cost + '</p>';
out += '</div>';
out += `<button type="button" class="btn btn-outline-secondary addToBacket" data-id="${key}">By</button>`;
out += '</div>';
}
$('.goods_Out').html(out);
$('.addToBacket').on('click', addToBacket);
}
function Keychains() {
// читаем файл goods.json
$.getJSON('Keychains.json', KeychainsOut);

function KeychainsOut(data) {
// вывод на страницу
console.log(data);
var out = '';
for (var key in data) {
out += '<div class="card col">';
out += '<img clas="card_img_top img_goods" src="img/' + data[key].img_goods + '" alt="photo">';
out += '<div class="card-body">';
out += '<h5 class="card-title text-center name">' + data[key].name + '</h5>';
out += '<p class="card-text text-secondary text-center cost">' + data[key].cost + '</p>';
out += '</div>';
out += `<button type="button" class="btn btn-outline-secondary addToBacket" data-id="${key}">By</button>`;
out += '</div>';


}
$('.goods_outKeychains').html(out);

function addToBacket() {
var id = $(this).attr('data-id');
if (cart[id] == undefined) {
cart[id] = 1;
} else {
cart[id]++;
}
saveCart();
}
function Belts() {
// читаем файл goods.json
$.getJSON('Belts.json', BeltsOut);

function BeltsOut(data) {
// вывод на страницу
console.log(data);
var out = '';
for (var key in data) {
out += '<div class="card col">';
out += '<img clas="card_img_top img_goods" src="img/' + data[key].img_goods + '" alt="photo">';
out += '<div class="card-body">';
out += '<h5 class="card-title text-center name">' + data[key].name + '</h5>';
out += '<p class="card-text text-secondary text-center cost">' + data[key].cost + '</p>';
out += '</div>';
out += `<button type="button" class="btn btn-outline-secondary addToBacket" data-id="${key}">By</button>`;
out += '</div>';


}
$('.goods_outBelts').html(out);

}
}
function Lanyard() {
// читаем файл goods.json
$.getJSON('Lanyard.json', LanyardOut);

function LanyardOut(data) {
// вывод на страницу
console.log(data);
var out = '';
for (var key in data) {
out += '<div class="card col">';
out += '<img clas="card_img_top img_goods" src="img/' + data[key].img_goods + '" alt="photo">';
out += '<div class="card-body">';
out += '<h5 class="card-title text-center name">' + data[key].name + '</h5>';
out += '<p class="card-text text-secondary text-center cost">' + data[key].cost + '</p>';
out += '</div>';
out += `<button type="button" class="btn btn-outline-secondary addToBacket" data-id="${key}">By</button>`;
out += '</div>';


}
$('.goods_outLanyard').html(out);

}
}
function BankCardSticker() {
// читаем файл BankCardSticker.json
$.getJSON('BankCardSticker.json', BankCardStickerOut);

function BankCardStickerOut(data) {
// вывод на страницу
console.log(data);
var out = '';
for (var key in data) {
out += '<div class="card col">';
out += '<img clas="card_img_top img_goods" src="img/' + data[key].img_goods + '" alt="photo">';
out += '<div class="card-body">';
out += '<h5 class="card-title text-center name">' + data[key].name + '</h5>';
out += '<p class="card-text text-secondary text-center cost">' + data[key].cost + '</p>';
out += '</div>';
out += `<button type="button" class="btn btn-outline-secondary addToBacket" data-id="${key}">By</button>`;
out += '</div>';


}
$('.goods_outBankCardSticker').html(out);

/* <---------------------------NO COPY---------------------------> */
$('.addToBacket').on('click', addToBacket); // One universal event :)
// should be the last !!!
/* <---------------------------NO COPY---------------------------> */
}

function addToBacket() {
var id = $(this).attr('data-id');
console.log(id);


if (cart[id] == undefined) {
cart[id] = 1;
} else {
cart[id]++;
}
showMiniCart();
saveCart();
}

}
function showMiniCart() {
//показываю мини корзину
var out="";
for (var key in cart) {
out += key +' --- '+ cart[key]+'<br>';
}
$('.mini-cart').html(out);
}
function saveCart (){
function saveCart() {
localStorage.setItem('cart', JSON.stringify(cart));
}
function loadCart (){
if (localStorage.getItem('cart')){

function loadCart() {
if (localStorage.getItem('cart')) {
cart = JSON.parse(localStorage.getItem('cart'));
showMiniCart();
}
}


$(document).ready(function () {
posters();
Sticker();
Keychains();
Belts ();
Lanyard ();
BankCardSticker();
init();
loadCart();

});
Loading