Autor | Zpráva | ||
---|---|---|---|
__construct Profil |
#1 · Zasláno: 1. 6. 2010, 14:07:44 · Upravil/a: __construct
Mám nasledujúci skript, ktorým odoberám riadky z tabuľky:
$('.smaz').live('click',function(){ id = parseInt($(this).attr('rel')); if(id != 1){ var polozka = $('#polozka-'+id); polozka.fadeOut(1000).delay(1000).remove(); //polozka.fadeOut(1000).delay(1000); //setTimeout('polozka.remove()',1000); novyPocet = parseInt($('input[name=pocet-polozek]').val()); $('input[name=pocet-polozek]').val(--novyPocet); } return false; }); Pri remove() metóda delay() nefunguje tak ako pri iných metódach (fadeIn, fadeOut ..) ale zmaze element hneď .. V príspevku od Chamurappiho som čítal, že je dobré vyhýbať sa setTimeout() - ako sa to dá v mojom prípade ? P.S.: Budem vďačný za akékoľvek ďalšie (aj keď drobné) zlepšenie toho skriptu :-) |
||
Chamurappi Profil |
#2 · Zasláno: 1. 6. 2010, 15:11:14
Reaguji na __constructa:
„V príspevku od Chamurappiho som čítal, že je dobré vyhýbať sa setTimeout()“ Kde? Mohl jsi ode mě nanejvýš číst, že se jako první argument setTimeout u nemá používat řetězec.
|
||
__construct Profil |
#3 · Zasláno: 1. 6. 2010, 15:21:33
Chamurappi:
Aha tak potom som to zle pochopil :-) |
||
Kcko Profil |
#4 · Zasláno: 1. 6. 2010, 17:00:33
__construct:
Jestli potrebujes oddalit to smazani tak pouzij metodu fadeTo a to odmazani (remove) vloz do callback funkce. |
||
ah01 Profil |
#5 · Zasláno: 1. 6. 2010, 17:13:02
__construct:
Metoda delay pracuje s interní frontou, do které se zařazují animace – operace, které chvíli trvají. remove mezi takové operace nepatří a provede se rovnou. Pokud tě zajímá jak to napsat s pomocí delay, tak musíš remove přidat na konec fronty. K tomu slouží metoda queue: polozka.fadeOut(1000).delay(1000).queue(function (next) { polozka.remove(); next(); }); V tomto případě můžeš to next vynechat, protože nic dalšího už ve frontě není. |
||
__construct Profil |
#6 · Zasláno: 2. 6. 2010, 07:57:18
Kcko, ah01 díky moc :-)
|
||
Časová prodleva: 14 let
|
0