635 votes

Quel est le moyen le plus simple d'appeler une fonction toutes les 5 secondes dans jQuery?

Je cherche à automatiser le changement d'images dans un diaporama. Je préfère ne pas installer de plugins tiers si possible.

Merci.

1119voto

Doug Neiner Points 34940
window.setInterval(function(){
  /// call your function here
}, 5000);

136voto

John Boker Points 36308

vous pouvez enregistrer un intervalle sur la page en utilisant setInterval, c'est-à-dire:

 setInterval(function(){ 
    //code goes here that will be run every 5 seconds.    
}, 5000);
 

50voto

Juste un petit conseil pour la première réponse. Si votre fonction est déjà définie, référencez la fonction mais ne l'appelez pas !!! Donc, ne mettez aucune parenthèse après le nom de la fonction. Juste comme:

 my_function(){};
setInterval(my_function,10000);
 

38voto

Steel Brain Points 161

Les fonctions mentionnées ci-dessus s'exécutent peu importe si elle est terminée dans l'invocation précédente ou non, celle-ci s'exécute toutes les x secondes une fois l'exécution terminée

 (function(){
    var me = arguments.callee;
    // Do the Thing Here
    setTimeout(function(){
        me();
    },5000);
})();
 

14voto

Dror Points 5006

Les deux setInterval et setTimeout peuvent travailler pour vous ( comme @Doug Neiner et @John Boker ont écrit les deux points maintenant à setInterval ).
Voir ici pour plus d'explications sur les deux pour voir quelles suites vous le plus et comment arrêter chacun d'eux.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X