Js не закрывает открывшийся элемент, как исправить?

Доброго времени суток. Js не знаю совершенно, проблема такая. На сайте вордпресс, при добавлении в корзину - всплывает уведомление "Товар успешно добавлен в корзину" но уведомление не исчезает.

Нужно чтобы оно пропадало через 4-5 секунды. Подскажите как исправить. Код прилагаю:

function init_prod_row_actions() {

        $('.qty_plus').unbind().click(function (e) {
            $input = $(this).closest('.quantity_cont').find('.prod_qty');
            var val = parseInt($input.val());
            $input.val(val + 1).change();
        });

        $('.qty_minus').unbind().click(function (e) {
            $input = $(this).closest('.quantity_cont').find('.prod_qty');
            var val = parseInt($input.val());
            if (val > 1) {
                $input.val(val - 1).change();
            }
        });

        $('.prod_qty').change(function (e) {
            e.preventDefault();
            e.stopPropagation();
            $priceCont = $(this).closest('.prod_js').find('.prod_price');
            $price = parseInt($priceCont.attr('data-price'));
            var val = $(this).val(),
                cont = $(this).closest('.prod_js');

            cont.find('.add_to_cart_custom').attr('data-qty', val);
            $priceCont.html(val * $price + ' руб.')
        });

        $('.prod_variations li').click(function () {
            var price = $(this).attr('data-price'),
                id = $(this).attr('data-id'),
                container = $(this).closest('.prod_js'),
                val = parseInt(container.find('.prod_qty').val());

            if (!val) {
                val = 1;
            }

            container.find('.add_to_cart_custom').attr('data-id', id);
            container.find('.prod_price').html(val * price + ' руб.').attr('data-price', price);
            container.find('.prod_variations li').removeClass('active');
            $(this).addClass('active');
        });

        $('.prod_variations li:first-child').click();


        $('.add_to_cart_custom').click(function (e) {
            e.preventDefault();
            e.stopPropagation();
            var qty = $(this).attr('data-qty');
            if (!qty) {
                qty = 1;
            }
            $.ajax({
                data: {action: 'ajax_to_cart', id: $(this).attr('data-id'), qty: qty},
                url: '/wp-admin/admin-ajax.php',
                method: 'POST'
            }).done(function (response) {
                response = $.parseJSON(response);
                if ($('#notices').length === 0) {
                    $('body').append('<div id="notices"></div>');
                }
                $('#notices').html('<div class="alert alert-success alert-dismissible fade show" role="alert">\n' +
                    '  Товар успешно добавлен в корзину' +
                    '  <button type="button" class="close" data-dismiss="alert" aria-label="Close">\n' +
                    '  </button>\n' +
                    '</div>');
                $('.basket-btn__counter').html('(' + response.count + ')');
            })
        });
    }
  • Вопрос задан
  • 54 просмотра
Решения вопроса 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
$('#notices').html('<div class="alert alert-success alert-dismissible fade show" role="alert">\n' +
                    '  Товар успешно добавлен в корзину' +
                    '  <button type="button" class="close" data-dismiss="alert" aria-label="Close">\n' +
                    '  </button>\n' +
                    '</div>');

// удалить через пять сек.
setTimeout(function(){
  $('#notices').empty();
}, 5000);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы