11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

J'ai créer un timer, servant à déplacer des images les unes à côté des autres à intervalle de 1 seconde.

Mon soucis est que le timer ne marche pas, firebug très explicite, m'indique :

"missing ) after argument list"

et voici la partie de mon code concernée par l'erreur :

window.setInterval(action,4000ms);


j'ai appelé action, la fonction que voici :

function action(){
var alpha = laGrosseDiv[laGrosseDiv.length-1];
window.document.getElementById("divImages").insertBefore(alpha, laGrosseDiv[0]);
}


Si je met entre guillemets le délai de l'intervalle, la page marche, pas d'erreur, sauf que mes images défilent à une vitesse complètement folle ^^

je pense que l'erreur viens de mon écriture mais je ne suis pas sûr..., auriez-vous une petite idée ? je suis tout ouïe Smiley biggrin
Salut,

Il ne faut pas préciser l'unité de temps dans la fonction, c'est déjà en millisecondes par défaut. Si tu souhaites un écart d'une seconde, c'est 1000ms qu'il faut...
window.setInterval(action,1000);


Et sinon, il est préférable (du moins à mon sens c'est plus propre) d'appeler un setInterval() dans la déclaration d'une variable.
Exemple :


var monIntervalle = setInterval(action,1000);
// Du coup c'est plus propre par la suite pour effacer cet intervalle
// et ça permet de travailler avec plusieurs intervalles si besoin.
clearInterval(monIntervalle);

Modifié par ZeB_panam (20 Apr 2010 - 08:44)
Salut

ZeB_panam a écrit :
De plus, la fonction appelée doit être au format string.

Non, c'est mieux et plus rapide de mettre une fonction.
Merci de vos réponses, mon problème a été corrigé.

Je voulais juste vous poser une dernière question.
Pour arrêtter le timer, j'ai vu dans un code qu'il était écrit :

clearInterval(nomDeLaVariableQuiEstLeTimer);
nomDeLaVariableQuiEstLeTimer = Null;

Pourriez-vous m'expliquer pourquoi on fixe la valeur du timer à "Null" ?
Ca ne sert à rien d'affecter la valeur null à cette variable, il est préférable de la désallouer grâce à delete.