2016-07-22 6 views
0
 $(function() { 
  $('.dropTitle').click(function() { 
    $('.columnCenter ul ul').css('display', 'block'); 
  }); 
                               
}); 

У меня есть функция щелчка здесь. Когда я нажимаю .dropTitle, .columnCenter ul ul отображает «блок». Как я могу получить его, когда я снова нажму .dropTitle, он переключится на отображение: none ;?Div появляются onclick, исчезают onclick

Я хочу иметь возможность переключаться между дисплеем: блок для отображения: нет при нажатии .dropTitle.

Вся помощь будет оценена, спасибо!

ответ

5

Просто используйте toggle:

$(function() { 
    $('.dropTitle').click(function() { 
     $('.columnCenter ul ul').toggle(); 
    });       
}); 

Working example.

+0

У меня есть опыт работы с 0 JavaScript, вы можете отправить мне полный код, включая дисплей: нет, отображение: результаты блока? – miksham

+0

Это полный код! :) Попробуй! @miksham – eisbehr

+0

Я попробовал. Когда я снова нажимаю .dropTitle, columnCenter ul ul не исчезает, но он появляется – miksham

0

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

.is--hidden { 
    display: none; 
}   

, а затем переключаться, что класс по клику:

$('.dropTitle').click(function() { 
    $(this).toggleClass('is--hidden') 
} 
-1

я бы использовать не только .toggle(), но я хотел бы использовать .on(), а также ...

$(function() { 
    $(document).on('click', '.droptitle', function() { 
     $('.columnCenter ul ul').toggle(); 
    });       
}); 
+0

И зачем вам регистрировать слушателя на весь документ вживую? Это накладные расходы ... и откуда ваша переменная 'display'? – eisbehr

+0

Я оставил «дисплей» как часть ошибки - я его удалил .. Что касается создания прослушивателя документов. JS уже прослушивает, вы просто инструктируете его, что хотите, чтобы он РЕАГИРОВАН. Я бы хотел увидеть ваши тесты, доказывающие иначе. – Zak