Bonjour à tous!
Une petite question rapide: j'ai un bouton qui possède 4 états représentés par une image différente.
J'aimerais maintenant ajouter une fonction AJAX par état mais j'aimerais qu'elle soit temporisée, pour éviter d'en faire 3 si on clic 3 fois sur le bouton pour atteindre l'Etat 3 par exemple...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 $('.btn_mark_erreur').toggle( function (){ //Etat 1 var id_erreur = $(this).parent().attr('erreur_num'); $(this).attr('title','Erreur réglée'); $(this).children('img').attr('src','img/erreur_ok.png'); }, function (){ //Etat 2 var id_erreur = $(this).parent().attr('erreur_num'); $(this).attr('title','Erreur en cours'); $(this).children('img').attr('src','img/erreur_encours.png'); }, function (){ //Etat 3 var id_erreur = $(this).parent().attr('erreur_num'); $(this).attr('title','Problème sur cette erreur'); $(this).children('img').attr('src','img/erreur_nok.png'); }, function (){ //Etat 0 var id_erreur = $(this).parent().attr('erreur_num'); $(this).attr('title','Marquer comme...'); $(this).children('img').attr('src','img/erreur_statut.png'); } );
J'ai pensé à ajouter dans chaque fonction de mon toggle() :
Ma question: lors de clics successifs, les fonctions appelées par "l'état traversé" sont-elles arrêtées? Ma méthode est-elle viable?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 setTimeout( function(){ $.ajax({ type: 'POST', url: "i....", dataType: ($.browser.msie) ? "text" : "xml", data: .... , complete : function() {...}, }); }, 3000);
Merci pour votre aide
Partager