Je suis arrivé ici à la recherche d'une solution similaire. D'après les lectures, ce n'est pas possible avec .load, il faut utiliser une requête AJAX, comme le souligne le commentaire de la question.
Dans mon cas, je dois charger un fichier html et j'ai ajouté une transition pour changer le contenu. L'ancien contenu était affiché avant le nouveau après la transition même si j'affichais le contenu à l'intérieur du callback de chargement.
var main = $("#main");
main.load("about.html", displaySection);
function displaySection () {
main.show('blind');
}
Ma solution a été d'exécuter la transition qui affiche le contenu chargé à l'intérieur d'une fonction de temporisation avec un paramètre de 200 pour le délai.
var main = $("#main");
main.load("about.html", displaySection);
function displaySection () {
setTimeout(function() {
main.show('blind');
}, 200);
}
Le problème peut se poser si la connexion est si lente que la nouvelle page prend plus de 200 ms à charger, mais dans ce cas je me demande si le callback sera lancé plus tard. Je ne comprends pas pourquoi cela ne fonctionne pas sans le timeout qui me semble assez moche, mais cela a résolu mon problème... juste au cas où d'autres n'auraient pas réfléchi à cette possibilité.