Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   .bind('click') работает не так как надо (https://javascript.ru/forum/jquery/63065-bind-%27click%27-rabotaet-ne-tak-kak-nado.html)

AstreyN 15.05.2016 16:39

.bind('click') работает не так как надо
 
При обработке события bind('click') нужный элемент ul должен показываться, а при повторном клике - скрываться. Но все это происходит за один клик. Ни как не могу понять где я ошибся.
$(document).ready(function() {
$(window).bind('resize',function() {
if(window.matchMedia('(max-width: 320px)').matches){
$('.searchWrap').insertBefore('.contentWrap');
$('.contentWrap aside').insertBefore('.contentWrap main');
$('#searchsubmit').attr('type', 'button');
$('#searchsubmit').attr('value', 'Поиск');
/* Вот этот bind показывает и сразу скрывает нужный ul*/
$('.sidebarWidget h3').bind('click', function() {
  if ($($(this).parent('.sidebarWidget')).children('ul').is(':visible')) {
   					$($(this).parent('.sidebarWidget')).children('ul').hide("slow");
return false;
} else
if ($($(this).parent('.sidebarWidget')).children('ul').is(':hidden')) {
   					 		$($(this).parent('.sidebarWidget')).children('ul').show("slow");
return false;
}; return false;
});
};
});
		   	   
});

рони 15.05.2016 17:01

AstreyN,
в вашем коде написано при изменении размеров окна, 100500 раз назначить обработку клика, а строки 10 и 14 масло масляным делают.


Часовой пояс GMT +3, время: 20:42.