Есть ли какой-либо специальный jQuery, который будет выполнять два разных набора кодов для одного элемента?

Итак, у меня есть код, который позволяет мне показывать элемент по щелчку одного элемента и скрывать его по щелчку другого. код выглядит так:

      $('.downloads').hide()
      $('.downloads').css({visibility:'visible'})
      var Dshow=false;                     
      $('.allLink').click(function() {     
      if(!Dshow){
          Dshow=true;
          $(".downloads").fadeIn("fast");
           $('#footer2').html($('#footer1').html()); 
           $('#footer1').html('');}

    });
     $('.hideAllLink').click(function() {
     if(!!Dshow){
   Dshow=false;
           $(".downloads").fadeOut("fast");
           $('#footer1').html($('#footer2').html());
           $('#footer2').html('');}
    });

я хочу $('.allLink').click(function() чтобы иметь 2 состояния - при первом клике должно отображаться ".downloads", а при втором клике скрыть.

Как это сделать с помощью jQuery?

2 ответа

Решение

Я думаю, что вы ищете, чтобы переключить: использование функции переключения jQuery

использование

$( "#idofthebutton" ).toggle(

                function() {
                    /// hide the link
                   $(".downloads").fadeOut("fast");
                }, function() {
                    ///show the link
                 $(".downloads").fadeIn("fast");
                }

   );

Это будет работать автоматически, чтобы скрыть и показать ссылки....

Примечание. В этом случае ссылки должны быть видны в первую очередь. Если вы этого не хотите, измените порядок функций внутри.toggle

Вы можете использовать .toogle (). Этот метод скрывает элемент, если он видим, или делает его видимым, если он скрыт.

$('.allLink').click(function()) {
    $('.downloads').toggle();
}
Другие вопросы по тегам