Autor | Zpráva | ||
---|---|---|---|
maks Profil |
#1 · Zasláno: 8. 1. 2010, 13:32:31
Ahoj,
jsem věčný začátečník s JS, ale řekl jsem si, že když už se něco naučit, začnu na nějakém frameworku, konkrétně jQuery. Nevím, zda je to dobře či nikoliv, ale to je jiná věc. Otázka tedy zní. Když mám následující kód $("div#popup").hide(1000); Nevím, jak toto pojmenovat a v tutoriálech, kde jsou základy (s kterými prozatím pracuji), jsem toto nenašel. Děkuji za radu. Maks |
||
Nox Profil |
#2 · Zasláno: 8. 1. 2010, 13:35:24
setTimeout()
|
||
Radek9 Profil |
#3 · Zasláno: 8. 1. 2010, 13:39:46
maks:
Přesněji tedy: setTimeout(function(){ $("div#popup").hide(1000); }, 5000); |
||
maks Profil |
#4 · Zasláno: 8. 1. 2010, 13:43:03
Radek9:
„Přesněji tedy: ...“ děkuji, to jsem si už dohledal. Nox: tušil jsem něco takového, spíše jsem nevěděl, jak to zapsat. S přesným názvem už to byla hračka (mohlo mi to taky dojít z "běžného" JS, setTimeout znám.. :-() Děkuji. |
||
ah01 Profil |
#5 · Zasláno: 8. 1. 2010, 18:27:50
Zajímá vás jak to udělat elegantně po jQueryovsku?
Pokud přidáte nějakému jQ. objektu efekt (např. zmíněný hide), efekt se přidá do fronty. Proto když přidáme naráz více efektů, tak se vykonávají postupně (ukázka). S tuto frontou můžeme pracovat pomocí metod queue a dequeue. Můžeme si třeba napsat takový to plugin: // plugin pro delay (zpoždění) $.fn.delay = function (time){ var that = this; return this.queue(function(){ setTimeout(function(){ that.dequeue(); }, time); }); }; Odpověď na původní dotaz by pak vypadala tato: $("div#popup").delay(5000).hide(1000); Hezké, ne? (ukázka) Poznámka: metoda delay (dokumentace) bude přímo součást jQuery 1.4, které by mělo být oficiálně uvolněno 14. 1. 2010. |
||
Časová prodleva: 14 let
|
0