Bonjour à tous!
Une petite question rapide: j'ai un bouton qui possède 4 états représentés par une image différente.

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'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...

J'ai pensé à ajouter dans chaque fonction de mon toggle() :

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);
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?

Merci pour votre aide