简体   繁体   中英

Reset jquery setTimeout after second Click on Button

I got a problem that wastes more and more time. Now I want to ask you guys to help me out. I really think it's not a big thing but I can't find the solution:

I have two code snippets, both really similar:

$(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);
            });
        }
    });

});

I just want to reset the timeout after a click on one of the buttons.

var time;

}, 2000); use this-> }, time);

$(".test").on("click", function(){
   time = 0;
});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM