J'ai un asp: UpdatePanel qui est caché ou non basé sur le code derrière un asp: DropDownList à OnSelectedIndexChanged.Comment chronométrer une fonction jquery .change pour exécuter après le .net OnSelectedIndexChanged?
Lorsque ce panneau de mise à jour est affiché, il y a quelques jquery pour mettre en évidence la nouvelle zone:
$(document).ready(function(){
$('#Alert').animate({backgroundColor:'#FF953F'});
$('#Alert').animate({backgroundColor:'white'}, 3000);
});
Cela fonctionne très bien une fois que le panneau de mise à jour est de montrer à nouveau, mais la première fois qu'il revient, le jquery est en cours d'exécution avant le code derrière, il y a donc une pause de 3000ms puis le panneau est affiché sans mise en surbrillance.
Comment puis-je m'assurer que jquery s'exécute après l'affichage du panneau?
J'ai essayé d'ajouter un si visible et délai au JavaScript:
$('#<%=ddlInfo.ClientID %>').change(function(){
if($('#Alert').is(':visible')){
$('#Alert').animate({backgroundColor:'#FF953F'});
$('#Alert').animate({backgroundColor:'white'}, 3000);
};
});
Cela n'a pas fait un changement que le JavaScript est exécuté avant le panneau est de retour.
Et un retard:
$('#Alert').delay(1000).animate({backgroundColor:'#FF953F'});
Cela fonctionnait très bien à retarder le panneau de montrer que le code avait derrière attendre jusqu'à ce que le retard était complet avant de pouvoir afficher le panneau à nouveau.
Merci pour vos idées sur ce sujet.
Cela semble prometteur. Jusqu'à présent, j'ai été en mesure d'obtenir la plupart de ce que je cherchais à aller. Merci pour la réponse tardive :) – InsertOldUserIDHere