Autor Zpráva
Neas
Profil
Ahoj,
našel jsem na internetu následující jQuery script, pro vytvoření horizontálního rolovacího menu. Chtěl bych se zeptat, zdali tento script nejde nějak upravit, aby po odjetí myši z prvku se menu zarolovalo zpět až po 500ms. Zkoušel jsem na zvýrazněnou část scriptu aplikovat fci setTimeout, avšak menu se pak nezarolovalo vůbec.
$("#top_bar menu li").bind("mouseenter", function()
{
  $(this).children("ul").slideDown("slow");
});
$("#top_bar menu li").bind("mouseleave", function()
{
  $(this).children("ul").stop(true, true).slideUp();
});

Děkuji
Magnus123
Profil
Zdravím.

Když jsem dělal třeba slideToggle, tak do závorky jsem zadával počet ms, za jak dlouho se to srolovalo. Nevím, zda to platí i u slideUp, ale zkus slideUp(500);

Edit:
Omlouvám se, pochopil jsem špatně dotaz.
Neas
Profil
slideUp funguje, nefunguje mi, když ho obalím setTimeoutem
Kcko
Profil
Neas:
Protože se Ti tam prvek $(this) nedostane ... ulož si to do proměnné a pak to půjde.
Neas
Profil
zkoušel jsem různý variace na:
var tmp = $(this);
setTimeout('tmp.children("ul").stop(true, true).slideUp();', 500);

ale nefunguje to. Kde dělám chybu?
EDIT:
bez var to funguje,
díky
Chamurappi
Profil
Reaguji na Nease:
Použij setTimeout správně a bude ti to fungovat.
Neas
Profil
Chamurappi:
Tohle jsem nevěděl, děkuju za objasnění.
joe
Profil
Neas:
delay() v jQuery neznáš?

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