2010-08-30 4 views
3

J'utilise les formulaires Web VSS 2005 & avec AJAX Control Toolkit. J'utilise des panneaux de mise à jour pour enregistrer différentes parties de mon formulaire. Le problème étant que je mets à jour l'utilisateur avec le statut définissant une étiquette ou une valeur littérale.Meilleure façon d'afficher et de faire disparaître un message d'état dans asp.net?

Cette valeur est visible dans le formulaire jusqu'à ce que la page soit actualisée. Est-il possible d'afficher un message et de l'effacer après quelques secondes? Serait un épargnant de vie pour moi =)

J'utilise VSS 2005 mais je ne pense pas qu'un simple fondu exigerait beaucoup d'intellisense avec JQuery?

Répondre

2

Avec une combinaison des jQuery timers plugin et jQuery fadeOut method, vous pouvez obtenir ce que vous voulez:

$(function() { 
    $(this).oneTime(1000, function() { 
     $('#book').fadeOut('slow', function() { 
     // Animation complete. 
     }); 
    }); 
}); 

Cela appelle une fonction après le DOM est prêt (première ligne). Cette fonction appellera une autre fonction après une seconde (deuxième ligne). Cette autre fonction supprimera l'élément avec l'ID 'book'.

Le DOM n'est peut-être pas "fini" avec les panneaux de mise à jour, je ne sais pas. Vous pouvez simplement en faire une fonction normale (remplacez la première ligne par function removeMessage() { et la dernière par }) Ensuite, dans votre updatePanel, ajoutez un appel à cette fonction, mais je ne l'ai pas testé moi-même, cependant

+0

Salut, quel est le but de .oneTime? Ne pouvons-nous pas simplement spécifier l'heure en millisecondes sur fadeOut? –

+0

ne peut toujours pas comprendre cela. –

+0

Le composant oneTime fait partie du plugin jQuery timers et le fadeOut fait partie de l'interface utilisateur jQuery. Le temps en millisecondes sur le oneTime signifie que le fadeOut sera appelé après 1000 millisecondes. Si vous passez un entier à fadeOut (comme 'fadeOut (1000 ...)', l'animation durera 1000 millisecondes.) – Peter