2016-04-24 2 views
2

У меня есть меню навигации по экрану в полноэкранном режиме со ссылками, которые при щелчке переходят к соответствующему разделу. Меню слайд переключается, нажав на div #hamburger. то, что я хочу, это меню выскользнуть зрения еще раз, когда я нажимаю на ссылку, а то, что происходит, он скользит вверх и затем снова внизИспользуйте более одного источника для переключения переключателя на элемент

<div id="hamburger"> 
    <nav id="navigation"> 
     <ul> 
      <li><a></a></li> 
      <li><a></a></li> 
      <li><a></a></li> 
     </ul>    
    </nav> 
</div> 

<script> 
$(document).ready(function(){ 
    $("#hamburger , ul li a").click(function(){ 
     $("#navigation").slideToggle("slow"); 
    }); 
}); 
</script> 

ответ

1

Вы должны остановить event-propagation,

$(document).ready(function(){ 
    $("#hamburger , ul li a").click(function(e){ 
     e.stopPropagation(); 
     $("#navigation").slideToggle("slow"); 
    }); 
}); 

Когда вы щелкнув по anchor элементов, событие будет распространяться на вершину, пока она не достигнет документа и в течение этого времени он пересекает #hamburger и он также будет стрелять его щелчок событие. Следовательно, элемент #navigation перемещается вверх и вниз.

+1

разрешил его, перемещая навигатор, но ваше объяснение дало мне больше понимания того, что происходило – dmc

0

Я только что заметил, что мой навигатор был внутри гамбургерского div. переместив его под гамбургерским div, он сделал трюк. ошибка новобранец