Autor | Zpráva | ||
---|---|---|---|
Sylar Profil |
Ahoj,
mám takovýto kód <script type="text/javascript"> $("ul#nav li").hover(function() { $(this).children("ul").delay(500).slideDown(250); }, function() { $(this).children("ul").slideUp(250); }); </script> Který po přijetí myši nad položku menu vyčká půl sekundy a poté se vyroluje nabídka. Co potřebuji udělat je to, aby když uživatel na položku najede a ihned zase odjede, aby mu nabídka nevyjela. Tzn. pokud na odkaze nechá kurzor myši půl sekundy, nabídka má vyjet, pokud přes odkaz pouze přejede a nezastaví se na něm, nabídka vyjet nemá. Mohl by mi někdo poradit jak na to? díky |
||
Sir Tom Profil |
#2 · Zasláno: 25. 10. 2011, 18:25:32
Sylar:
Udělej to asi nějak takto - jakmile uživatel najede nad menu, tak do proměnné 'najeto' ulož true. Jakmile odjede z menu - ulož do ní false. No a po 500 milisekundách vykonej událost - přidej zde podmínku, která se ptá na hodnotu proměnné 'najeto'. Jestliže najeto==true, pak se vysune menu. V opačném případě se nestane nic. |
||
_es Profil |
#3 · Zasláno: 25. 10. 2011, 18:48:57
Podobná vec sa riešila tu.
|
||
Sylar Profil |
#4 · Zasláno: 25. 10. 2011, 21:08:34
díky za rady, nakonec jsem to vyřešil takto
<script type="text/javascript"> var counter = 0; $("ul#nav li").hover(function() { counter = setInterval(function() { $("ul#nav li:hover").children("ul").slideDown(250) }, 300); }, function() { clearInterval(counter); $("ul#nav li:hover").children("ul").slideUp(250); }); </script> jinak jsem při bádání narazil i na pěkný plugin, kdyby se někomu hodil - http://cherne.net/brian/resources/jquery.hoverIntent.html . |
||
1Pupik1989 Profil |
#5 · Zasláno: 26. 10. 2011, 09:20:39
pred funkce
slide dej funkci stop() |
||
Časová prodleva: 13 let
|
0