Problème JS
Résolu/Fermé
kalimbra
Messages postés
469
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
7 octobre 2014
-
10 nov. 2009 à 15:53
kalimbra Messages postés 469 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 7 octobre 2014 - 11 nov. 2009 à 09:02
kalimbra Messages postés 469 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 7 octobre 2014 - 11 nov. 2009 à 09:02
4 réponses
monkey_monk
Messages postés
641
Date d'inscription
mercredi 1 juillet 2009
Statut
Membre
Dernière intervention
10 août 2012
130
10 nov. 2009 à 16:37
10 nov. 2009 à 16:37
Commence déjà par mettre des { et } à tes if et else... ensuite, est-ce que ton setTimeout fonctionne ?
Parce qu'il me semblait que pour passer un paramètre à une fonction via le setTimeout (et setInterval) il fallait utiliser une function anonyme, comme cà :
Non ?
Parce qu'il me semblait que pour passer un paramètre à une fonction via le setTimeout (et setInterval) il fallait utiliser une function anonyme, comme cà :
var timer = setTimeout(function(){moveLayer(Sens);},50);
Non ?
kalimbra
Messages postés
469
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
7 octobre 2014
72
10 nov. 2009 à 16:44
10 nov. 2009 à 16:44
En tout cas l'erreur se produit avant le Timeout..
j'ai un "objet is null " à la ligne 10, soit au niveau du
parseInt(Objet.style.top)
voila le code original que j'ai modifié (et qui fonctionne)
j'ai un "objet is null " à la ligne 10, soit au niveau du
parseInt(Objet.style.top)
voila le code original que j'ai modifié (et qui fonctionne)
<script language="javascript"> var Timer; var Pas = 3; function moveLayer(Sens) { if(document.getElementById) Objet = document.getElementById("Contenu"); else Objet = document.all["Contenu"]; if(parseInt(Objet.style.top) + (Pas*Sens) > 0) Objet.style.top = "0px"; else Objet.style.top = (parseInt(Objet.style.top) + (Pas*Sens)) + "px"; Timer = setTimeout("moveLayer(" + Sens + ");", 50); } </script>
Meelas
Messages postés
15
Date d'inscription
lundi 19 octobre 2009
Statut
Membre
Dernière intervention
16 novembre 2009
7
10 nov. 2009 à 17:16
10 nov. 2009 à 17:16
Salut,
Dans ton premier message, à mon avis l'erreur est à cette ligne :
Timer = setTimeout("moveLayer(" + Sens + ");", 50);
Tu ne met pas le 2eme paramètre "Contenu" donc quand la fonction se déclenche de nouveau, elle ne trouve pas l'élément qui a pour id la valeur de Contenu. ;)
En la changeant en : Timer = setTimeout("moveLayer(" + Sens + "," + Contenu + ");", 50); ça doit fixer l'erreur.
Après quand tu enlève le 2nd paramètre ça marche bien. ^^
Dans ton premier message, à mon avis l'erreur est à cette ligne :
Timer = setTimeout("moveLayer(" + Sens + ");", 50);
Tu ne met pas le 2eme paramètre "Contenu" donc quand la fonction se déclenche de nouveau, elle ne trouve pas l'élément qui a pour id la valeur de Contenu. ;)
En la changeant en : Timer = setTimeout("moveLayer(" + Sens + "," + Contenu + ");", 50); ça doit fixer l'erreur.
Après quand tu enlève le 2nd paramètre ça marche bien. ^^
kalimbra
Messages postés
469
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
7 octobre 2014
72
11 nov. 2009 à 09:02
11 nov. 2009 à 09:02
ça marche du tonnerre.. merci beaucoup...
comme je disais, chuis une bxxx en JS ...
comme je disais, chuis une bxxx en JS ...