#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