Autor Zpráva
__construct
Profil
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
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 setTimeoutu nemá používat řetězec.
__construct
Profil
Chamurappi:
Aha tak potom som to zle pochopil :-)
Kcko
Profil
__construct:
Jestli potrebujes oddalit to smazani tak pouzij metodu fadeTo a to odmazani (remove) vloz do callback funkce.
ah01
Profil
__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
Kcko, ah01 díky moc :-)

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: