• Почему не работает "скрыть" на не первых элементах?

    0xD34F
    @0xD34F Куратор тега JavaScript
    При каждом добавлении нового элемента в #list-case вы назначаете обработчики клика всем существующим .img и .show, а не только свежесозданным. Если срабатывает два (или четыре, или шесть, или...) обработчика, которые выполняют toggleClass, то конечное состояние от начального отличаться не будет. Отсюда ваше кажущееся "не работает".

    Не надо назначать никаких обработчиков при добавлении .case, делайте это один раз, используя делегирование:

    $('#list-case')
      .on('click', '.img', function() {
        $(this).closest('.case').remove();
      })
      .on('click', '.show', function() {
        $(this).toggleClass('none').closest('.case').find('.case-bottom').toggleClass('invise');
      });
    Ответ написан
    1 комментарий
  • Как противодействовать скликиванию товара?

    @Yurchello
    Мы тоже ломали голову в оптовом инетмагазе. За год выстрадали такую схему:
    Например, есть 10 штук некого товара. При добавлении в корзину 4 штуки, для этого же посетителя показывает, что осталось 6 штук, а остальным показывает, что остались всё те же 10 штук, а значит что другой может закинуть в корзину все 10 штук. Ну к примеру, другой чел закидывает 8 штук и резко покупает, а первый находится в корзине и любуеться своим выбором. В этот момент МГНОВЕННО (используя вебсокеты) у первого прямо на глазах происходит драмма - карточка товара, в которой изменились остатки, меняет цвет, красным и перечеркнуто пишется то количество, которое он ранее добавлял ( 4 шт), а количественный input заполняется оставшимися товарами, т.е цифрой 2
    Далее, под товаром пишется грозная надпись, мол по данному товару изменились остатки.
    И завершает эту драмму очень грозная надпись, которая появляется перед кнопкой "оформить заказ", мол обратите внимание, что по некоторым товарам из корзины изменились остатки (вдруг там в корзине сотня товаров и на экран они не помещяются).
    Эта функция для нас крайне актуальная, т.к. во время рассылки про новый товар на сайт налетает много оптовиков, и без этой функции (мы её именуем "реалтаймовой корзиной") начинался полный ХАОС.
    Ответ написан
    2 комментария