[jQuery] Function avec setTimeout ne fonctionne qu'une fois

Fermé
fartounet Messages postés 55 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 30 décembre 2014 - 30 déc. 2014 à 14:14
 Utilisateur anonyme - 30 déc. 2014 à 16:19
Bonjour à tous,

Je suis en train de faire une fonction qui devra être appelée pour chaque élément possédant une même classe comme par exemple :

<div class="maClasse">Message 1</div>
<div class="maClasse">Message 2</div>
<div class="maClasse">Message 3...</div>


J'ai donc une fonction écrite en jQuery doit s'exécuter toutes les secondes.
Je vous laisse voir mon script :

jQuery.fn.maFonction = function()
{
    console.log($(this).text());
    setTimeout(arguments.callee, 1000);
}


Évidemment elle n'est pas appelée, je fais donc une requête lorsque la page est prête :

jQuery(document).ready(function($)
{
    $('.maClasse').each(function()
    {
        $(this).maFonction();
    });
});


Le premier appel fonctionne bien, j'ai le bon retour sur la console.
Les suivants sont vides.

Message 1
Message 2
Message 3



...


J'aimerai savoir pourquoi et comment résoudre ce problème ?

Merci d'avance. :)

1 réponse

Bonjour

setTimeout est bien fait pour ne fonctionner qu'une fois, tu ne voulais pas utiliser setInterval plutôt ?
0