| 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: 15 let
|
|||
0