Autor Zpráva
wise
Profil
Ahoj,

prosím o radu.
Dělám jednoduchý drop box, jenže problém je takový, že když najedu na li, box vyjede (ul) a když leavnu box, tak v pořádku zajede. Jenže když je to např. pomalé a během zasouvání opět přejedu myší přes ul, při znovu vyjetí se rozbalí pouze do té části, u které to bylo, když jsem na to znovu myší najel při zasouvání. Mám to na localu, takže pokud popis nestačil, tak to někam nahraju. Jak říkám, jedná se o jednoduchý slideToggle drowdown menu.

Javascript:
$("#menu li").hover(function() {
        $(this).find("ul").stop().animate({ 
                height: "toggle",
                opacity: "toggle"
              }, 300); 
    }, function() {
        $(this).find("ul").stop().animate({ 
                height: "toggle",
                opacity: "toggle"
              }, 300); 
    });

HTML:
 <div id="menu">
        <ul>
            <li><a href="" title="Služby" id="submenu-1">SLUŽBY</a>
                <ul class="menu-sub">
                    <li class="menu-sub-first"><a href="">xxx</a></li>
                    <li><a href="">xxx</a></li>
                    <li><a href="">xxx</a></li>
                    <li><a href="">xxx</a></li>
                    <li class="menu-sub-last"><a href="">xxx</a></li>
                </ul>
            </li>
.
.
.

CSS:
#header-wrap #menu ul { list-style-type: none; }
#header-wrap #menu ul li { display: inline; margin-right: 40px; }
#header-wrap #menu ul li a { color: black; font-size: 14px; font-weight: bold; font-family: Arial; }
#header-wrap #menu ul li a:hover { color: #00bff3; text-decoration: none; }

#header-wrap #menu ul li ul.menu-sub { position: absolute; text-align: left; width: 188px; display: none; padding-top: 10px; z-index: 20; }
#header-wrap #menu ul li ul.menu-sub li {
    margin-right:  0 !important;
    background: #00BFF3; 
}
#header-wrap #menu ul li ul.menu-sub li a {
    color: white;
    font-weight: normal;
    line-height: 22px;
    font-size: 12px;
    display: block;
    padding: 0 18px 0 18px;
}


děkuju moc za radu.
YOYO
Profil
zkus místo "toggle" použít normální hodnoty
$("#menu li").hover(function() {
        $(this).find("ul").stop().animate({ 
                height: "100%",
                opacity: 1
              }, 300); 
    }, function() {
        $(this).find("ul").stop().animate({ 
                height: 0,
                opacity: 0
              }, 300); 
    });
wise
Profil
Takto už to s trochou další pomoci funguje :-) Díky moc. Čím to vlastně je, že to nejede? Vždyť když není vidět, toggle zobrazí a naopak. Když je v procesu mizení a já řeknu ať se zase ukáže, proč se usekne a nevykreslí se znovu plně?

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:

0