第二次单击按钮后重置jquery setTimeout

问题描述 投票:1回答:1

)

我有一个问题,现在浪费了越来越多的时间 - 现在我想请你们帮助我:-)我真的认为这不是一件大事但我找不到解决方案:

我有2个代码片段,两者都非常相似:

$(function () {

    $('.plus--article').on('click', function () {
        var $qty = $(this).closest('form').find('input[name="sQuantity"]');
        var currentVal = parseInt($qty.val());
        if (!isNaN(currentVal)) {
            $qty.val(currentVal + 1);

            $('.change-quantity--form').submit(function (e) {
                var form = this;
                e.preventDefault();
                var timeout = setTimeout(function () {
                    $.overlay.open();
                    form.submit();
                }, 2000);
            });
        }
    });

    $('.minus--article').on('click', function () {
        var $qty = $(this).closest('form').find('input[name="sQuantity"]');
        var currentVal = parseInt($qty.val());
        if (!isNaN(currentVal) && currentVal > 0) {
            $qty.val(currentVal - 1);
            window.clearTimeout(timeout);

            $('.change-quantity--form').submit(function (e) {
                var form = this;
                e.preventDefault();
                setTimeout(function () {
                    $.overlay.open({
                        closeOnClick: false
                    });
                    form.submit();

                }, 2000);
            });
        }
    });
});

我只想在点击其中一个按钮后重置超时。

你有好主意吗?非常感谢你!

javascript jquery settimeout reset
1个回答
0
投票
var time;

}, 2000);使用这个 - > }, time);

$(".test").on("click", function(){
   time = 0;
});
© www.soinside.com 2019 - 2024. All rights reserved.