Jak na zpožděné překreslení snippetu?

- forkman
 - Člen | 72
 
Ahoj, snažím se udělat cool animace přes css3, kde se po kliknutí na ajax odkaz obsah stránky rozjede do všech stran a pak zase ten nový obsah přijede. Mám ale problém v tom, že mi ten „odjížděcí“ efekt nestačí doběhnout, response ze serveru dostanu moc brzo a animace se po chvilce ukončí.
Jde nějak zařídit, aby se ajax request, nebo update snippetů zdržel? Používám nette.ajax.js a setTimeout jsem cpal snad všude, ale bohužel bez úspěchu. Díky.

- David Matějka
 - Moderator | 6445
 
mohlo by fungovat neco jako:
var snippetExt = $.nette.ext('snippets');
var origUpdateSnippets = snippetExt.updateSnippets;
snippetExt.updateSnippets = function (snippets, back) {
	window.setTimeout(function () {
		origUpdateSnippets(snippets, back);
	}, 1000)
};
				
- forkman
 - Člen | 72
 
David Matějka napsal(a):
mohlo by fungovat neco jako:
var snippetExt = $.nette.ext('snippets'); var origUpdateSnippets = snippetExt.updateSnippets; snippetExt.updateSnippets = function (snippets, back) { window.setTimeout(function () { origUpdateSnippets(snippets, back); }, 1000) };
Dá se říct, že to funguje, ale skončí to na chybě:
Uncaught TypeError: this.getElement is not a function
Koukám na to jak puk, ale když jsem si dumpnul „this“ uvnitř originální funkce „updateSnippets“, tak je to objekt „window“, před tím zásahem to byl objekt $.nette
s JS nejsem moc kamarád, takže jsem to napsal doufám srozumitelně :-D