Autor Zpráva
soucekgns
Profil
Nevím si rady s tímto kódem, nejsem schopný přijít na chybu.
Kód funguje: Když w.width > 480, tak se po najetí na "#menu-ul li a" normálně zobrazují podmenu.
Když w.width <= 480, tak se po kliknutí na tlačítko "#menu-ul" také normálně zobrazuje celé menu.
Avšak pokud změním velikost okna, tak po přejetí či kliknutí začne menu jezdit nahoru a dolů a nikdy se nezastaví...

Nevíte co s tím? Díky za rady.

<script type="text/javascript">
function menuAdjust() {
  if ($(window).width() > 480) {
    $("#menu-ul li a").on("hover", function(){  
      $($(this).attr("href")).slideToggle(100);             
      $(this).toggleClass("active");
    });
  }
  else {
    $("#narrow-nav").on("click", function(){ 
      $("#menu-ul").slideToggle(500); 
      $(this).toggleClass("active");
    });
  }
}
$(function(){
  menuAdjust();
  $(window).resize(function () {
    menuAdjust();
  }); 
});                           
</script>

<div id="narrow-nav">Menu</div>
<ul id="menu-ul">
  <li><a href="#">Home</a></li>
  <li><a href="#nav1">More</a>
    <ul id="nav1">
      <li><a href="#">abc</a></li>
      <li><a href="#">def</a></li>
    </ul>
  </li>
</ul>

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: