Что нового

Отложенное исполнение скрипта (1 Viewer)

jing

jing

Посетитель
OLD SkripTers
Регистрация
17 Дек 2019
Сообщения
5,332
Реакции
22
Есть кнопка на сайте которая добавляет в корзину товар.

Вот такой вот простой скриптик, мне нужно чтобы после выполнения ajax'a кнопке возвращалась активность, но спустя допустим 5-10 секунд.
Хз как сделать нормально/правильно, так чтобы задумка удалась.

JavaScript:
    $('[data-to-basket]').on('click', function(e){
        e.preventDefault();
        let btn = $(this);
        let id = $(this).data('to-basket');

        btn.prop('disabled', 'disabled');

        $.ajax({
            url: '/local/ajax/toBasket.php',
            method: 'POST',
            dataType: 'json',
            data: {'type' : 'add', 'count' : 1, 'id' : id}
        }).done(function(result){

            function removeDisableBtn(btn)
            {
                btn.removeAttr('disabled');
            }

            setTimeout(removeDisableBtn(btn), 20000);
        });

    })
 
Так вроде же установлено 20 секунд?
 
setTimeout(removeDisableBtn(btn), 20000);
Попробуй так
JavaScript:
setTimeout(() => {
    removeDisableBtn(btn);
}, 20000);

Это одно и то же, но по какой-то причине такой вариант срабатывает.

либо оберни функционал кнопки в таймаут
 
Попробую, и отпишусь потом
 

Пользователи, просматривающие данную тему

Верх