jQuery: кнопка должна быть нажата ровно X раз - PullRequest
0 голосов
/ 25 июня 2018

Я работаю над экспериментальным заданием, которое требует, чтобы кнопка была нажата ровно X раз. Идея состоит в том, что человеку нужно нажимать его, например, 4 раза подряд (интервал между нажатиями не более 0,5 с). На данный момент в моем коде каждый клик увеличивает переменную «клик» на 1, и как только она становится равной выбранному числу (4), игрок получает «зеленый сигнал».

Есть ли способ убедиться, что, если человек нажимает кнопку 5 или более раз подряд, функция не выполняется? Чтобы я ограничил игрока нажатием кнопки ровно 4 раза.

<button type="button" class="btn btn-outline-dark rounded-circle main_button"></button>

var click = 0

$('.main_button').on('click',function(){
    click = click + 1;
});

$('.main_button').dblclick(function(){
    click = click + 1;
});

$('.main_button').on('click',function() {
    if (click == 4) {
        setTimeout(function() {
            $('.feedback_g').addClass("bg-success");
            }, 500);
        };
    });

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

Нужно улучшить, но что-то вроде этого может сработать:

<button type="button" class="btn btn-outline-dark rounded-circle main_button"></button>

<script>
    var click = 0

    $('.main_button').on('click',function(){
       updateNb();
    });

    $('.main_button').dblclick(function(){
        updateNb(); 
    });

    $('.main_button').on('click',function() {
        if (click == 4) {
            setTimeout(function() {
             if (click == 4) {
                $('.feedback_g').addClass("bg-success");
            }

            click = 0;


                }, 500);
            };
        });


    function updateNb(){
        if(click > 4){
            click = 0;
        }
        click++;
    }
</script>
0 голосов
/ 25 июня 2018

Отключить кнопку после 4 нажатий - добавить

$('.main_buton').prop("disabled",true);

Полный код:

var click = 0

$('.main_button').on('click',function(){
    click = click + 1;
});

$('.main_button').dblclick(function(){
    click = click + 1;
});

$('.main_button').on('click',function() {
    if (click == 4) {
        setTimeout(function() {
            $('.feedback_g').addClass("bg-success");
            }, 500);
        $('.main_buton').prop("disabled",true);
        };
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...