Sto cercando di capire l'intero concetto deferred
e sto tentando di utilizzarlo per sincronizzare un'animazione fadeIn
/fadeOut
insieme a una chiamata Ajax.Utilizzo di jquery differito per la sincronizzazione dell'animazione e ajax
Fondamentalmente io sono il passaggio dei contenuti a pagina facendo:
- Recuperare contenuti con ajax
- sulla risposta FadeOut
- sostituire il contenuto
- FadeIn
Tuttavia, se ho capito deferred
s right Potrei essere in grado di fare qualcosa del genere:
- fadeOut, e allo stesso tempo inizializza Fetch contenuti con ajax
- Quando sia la fadeOut e il contenuto Fetch sono stati compilati: Modificare il contenuto
- FadeIn
Alcuni codice della soluzione originale:
$.get(url, function(page) {
$('#content').fadeTo(100, 0, 'linear', function() {
$(this).html(page.text).fadeTo(400, 1, 'linear');
});
}
che sto cercando di fare qualcosa di simile:
var deferred1 = $.get(url);
var deferred2 = $('#content').fadeTo(100, 0, 'linear').promise();
$.when(deferred1, deferred2).done(function() {
$('#content').html(page.text).fadeTo(400, 1, 'linear');
});
Non riesco proprio a capire come usarlo. E dovrei usare fatto o poi? Dovrei usare pipe in modo intelligente? Ho bisogno di promise
?
Quale sarebbe il modo più "standardizzato" per implementarlo?
sei sicuro di non aver bisogno di '.promise()' - AIUI un oggetto jQuery non implementa automaticamente l'interfaccia di promessa per indicare il completamento dell'animazione, devi chiamare '$ (...). Promise() 'per ottenere la promessa desiderata. – Alnitak
@Alnitak: Afaik lo fa. A meno che non sia stato modificato di recente. * modifica: * Funziona ancora: http://jsfiddle.net/y5Fk7/. –
non che io sappia, è stato così da quando l'animazione ha iniziato a supportare differito in 1.6. Vedi 'http: // api.jquery.com/promise /' rispetto alla funzione 'deferred.promise()'. Chiamare '.promise' su un comando differito ti assicura solo di ottenere un oggetto (stripped back) che implementa solo l'interfaccia di promessa, ma chiamare' .promise' su un oggetto jQuery è necessario per creare effettivamente la promessa dinamica che guarderà l'animazione di quell'elemento coda. – Alnitak