index.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. var $shopcart = $('span.glyphicon.glyphicon-shopping-cart.pull-right');
  2. $search = $('#search');
  3. $search.on('click', function() {
  4. $(".input").toggleClass("active");
  5. $("input[type='text']").focus();
  6. console.log ('Slava');
  7. });
  8. var doing = JSON.parse(localStorage.getItem ('cart')) || 0;
  9. $('[data-which = "1"]').text(doing);
  10. if (!(doing == 0)) {
  11. $('#shop')
  12. .css ({'color':'red'});
  13. } else {
  14. $('#shop')
  15. .css ({'color':'white'});
  16. }
  17. $shopcart.on('click', function() {
  18. $('#shop')
  19. .css ({'color':'red'});
  20. doing++;
  21. $('[data-which = "1"]').text(doing);
  22. localStorage.setItem('cart', JSON.stringify(doing));
  23. return false;
  24. });
  25. /*var d = document,
  26. itemBox = d.querySelectorAll('.product'), // блок каждого товара
  27. cartCont = d.getElementById('#shop'); // блок вывода данных корзины
  28. // Функция кроссбраузерной установка обработчика событий
  29. function addEvent(elem, type, handler){
  30. if(elem.addEventListener){
  31. elem.addEventListener(type, handler, false);
  32. } else {
  33. elem.attachEvent('on'+type, function(){ handler.call( elem ); });
  34. }
  35. return false;
  36. }
  37. // Получаем данные из LocalStorage
  38. function getCartData(){
  39. return JSON.parse(localStorage.getItem('cart'));
  40. }
  41. // Записываем данные в LocalStorage
  42. function setCartData(o){
  43. localStorage.setItem('cart', JSON.stringify(o));
  44. return false;
  45. }
  46. // Добавляем товар в корзину
  47. function addToCart(e){
  48. this.disabled = true; // блокируем кнопку на время операции с корзиной
  49. var cartData = getCartData() || {}, // получаем данные корзины или создаём новый объект, если данных еще нет
  50. parentBox = this.parentNode, // родительский элемент кнопки "Добавить в корзину"
  51. itemId = this.getAttribute('data-id'), // ID товара
  52. itemTitle = parentBox.querySelector('product-desc').innerHTML, // название товара
  53. itemPrice = parentBox.querySelector('product-price').innerHTML; // стоимость товара
  54. if(cartData.hasOwnProperty(itemId)){ // если такой товар уже в корзине, то добавляем +1 к его количеству
  55. cartData[itemId][2] += 1;
  56. } else { // если товара в корзине еще нет, то добавляем в объект
  57. cartData[itemId] = [itemTitle, itemPrice, 1];
  58. }
  59. if(!setCartData(cartData)){ // Обновляем данные в LocalStorage
  60. this.disabled = false; // разблокируем кнопку после обновления LS
  61. }
  62. return false;
  63. }
  64. // Устанавливаем обработчик события на каждую кнопку "Добавить в корзину"
  65. for(var i = 0; i < itemBox.length; i++){
  66. addEvent(itemBox[i].querySelector('span.glyphicon.glyphicon-shopping-cart.pull-right'), 'click', addToCart);
  67. }
  68. // Открываем корзину со списком добавленных товаров
  69. function openCart(e){
  70. var cartData = getCartData(), // вытаскиваем все данные корзины
  71. totalItems = '';
  72. // если что-то в корзине уже есть, начинаем формировать данные для вывода
  73. if(cartData !== null){
  74. totalItems = '<table class="shopping_list"><tr><th>Наименование</th><th>Цена</th><th>Кол-во</th></tr>';
  75. for(var items in cartData){
  76. totalItems += '<tr>';
  77. for(var i = 0; i < cartData[items].length; i++){
  78. totalItems += '<td>' + cartData[items] + '</td>';
  79. }
  80. totalItems += '</tr>';
  81. }
  82. totalItems += '</table>';
  83. cartCont.innerHTML = totalItems;
  84. } else {
  85. // если в корзине пусто, то сигнализируем об этом
  86. cartCont.innerHTML = 'В корзине пусто!';
  87. }
  88. return false;
  89. }
  90. /* Открыть корзину */
  91. // addEvent(d.getElementById('span.glyphicon.glyphicon-shopping-cart'), 'click', openCart);
  92. /* Очистить корзину */
  93. //addEvent(d.getElementById('clear_cart'), 'click', function(e){
  94. //localStorage.removeItem('cart');
  95. // cartCont.innerHTML = 'Корзина очишена.';
  96. //});*/