jQuery подсчитывает клики, как это сделать?

#jquery #count #click

#jquery #подсчитывать #нажмите

Вопрос:

Я хочу создать функцию, которая при первом нажатии что-то делает, а при втором отключает это, есть ли метод для этого в jQuery? Скажем, например, при первом нажатии на div он становится красным, а при втором возвращается к белому цвету по умолчанию, и так далее.

Я думал создать какой-нибудь счетчик четных и нечетных, но должен быть способ получше..

Ответ №1:

Вы можете использовать toggle событие.

Демонстрация: http://jsfiddle.net/ThiefMaster/rHVdm /

Ответ №2:

В jQuery это называется toggle . С помощью toggle вы можете чередовать два разных результата, вот так:

 <div id="click">Click me</div>

<script>
$("#click").toggle(function () {
  $(this).css("background-color", "red");
}, function () {
  $(this).css("background-color", "blue");
});
</script>
  

Более подробная информация доступна на сайте jQuery:http://api.jquery.com/toggle-event /

Ответ №3:

Вы можете использовать статическую переменную (переменную, которая сохраняет свое значение во всех вызовах метода). Ваш код может выглядеть следующим образом:

 function kill()
{
    if(!kill.staticVariable) kill.staticVariable = 0;

    if(staticVariable%2 == 0)
    {
        // do something
        staticVariable   ;
    }
    else
    {
        //do the other thing 
        staticVariable   ;
    }
}
  

Этот код предоставит вам желаемую функциональность, и он соответствует тому, как вы думали о проблеме, однако это не лучший способ сделать это, и я просто написал это, потому что уверен, что вы найдете статические переменные очень удобными.
Надеюсь, это поможет: D