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