jQuery - событие в один клик, чтобы делать разные вещи - PullRequest
0 голосов
/ 10 сентября 2011

Я только хочу

$('.div_rightColumn').fadeOut("fast");
$('.div_rightColumn').fadeIn("fast");

для запуска по первому клику. Есть ли способ сказать jQuery только сделать это при первом нажатии и запустить только:

$('.name_filter img').live("click", function() {
      $('#contactMessage').fadeOut();
      $('.div_rightColumn').css({"margin" : "3px 0 0 0"});
});

остальные клики? Ниже полно ... спасибо!

$('.name_filter img').live("click", function() {
      $('#contactMessage').fadeOut();
      $('.div_rightColumn').fadeOut("fast");
      $('.div_rightColumn').fadeIn("fast");
      $('.div_rightColumn').css({"margin" : "3px 0 0 0"});
});

Ответы [ 2 ]

1 голос
/ 10 сентября 2011

Вы можете сделать что-то вроде:

var run = 0;
$('.name_filter img').live("click", function() {
      $('#contactMessage').fadeOut();
      if(run === 0){
           $('.div_rightColumn').fadeOut("fast").fadeIn("fast");
           run++;
       }
      $('.div_rightColumn').css({"margin" : "3px 0 0 0"});
});

Кроме того, как я уже сказал в комментарии выше, вы действительно должны изменить свою жизнь на делегата вроде:

$('.name_filter').delegate("img", "click", function() {
     //code
});
0 голосов
/ 10 сентября 2011

Если вы хотите прослушать событие только один раз, вы можете использовать .one

http://api.jquery.com/one/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...