Problème JS
Résolu
kalimbra
Messages postés
546
Statut
Membre
-
kalimbra Messages postés 546 Statut Membre -
kalimbra Messages postés 546 Statut Membre -
Bonjour,
je suis pas un pro du javascript. J'ai récupéré un petit script sur internet que j'essaye d'adapter pour le rendre 'dynamique', afin de l'utiliser plusieurs fois dans la page.
Il s'agit d'un petit scroller (j'aurais besoin de 4 instances sur une page)
Voila mon code actuel. J'obtiens l'erreur "Objet is null" et pourtant en vérifiant avec des document.write, j'arrive bien à obtenir l'id et le style.top.
si l'un de vous à une petite idée ....
je suis pas un pro du javascript. J'ai récupéré un petit script sur internet que j'essaye d'adapter pour le rendre 'dynamique', afin de l'utiliser plusieurs fois dans la page.
Il s'agit d'un petit scroller (j'aurais besoin de 4 instances sur une page)
Voila mon code actuel. J'obtiens l'erreur "Objet is null" et pourtant en vérifiant avec des document.write, j'arrive bien à obtenir l'id et le style.top.
<script language="javascript"> var Timer; var Pas = 3; function moveLayer(Sens,Contenu) { Objet = document.getElementById(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>
si l'un de vous à une petite idée ....
A voir également:
- Problème JS
- Copiez l'image dans un logiciel d'édition d'images ou un outil en ligne comme js paint ou pixlr e. remplissez les cases en suivant le code couleur. des cases supplémentaires vont se remplir automatiquement. que représente le dessin ? ✓ - Forum Windows
- Arrondi js ✓ - Forum Windows
- Remplir une case de tableau avec une couleur grise avec texture de pointillés ✓ - Forum Photoshop
- Reproduction d'un dessin - Forum Graphisme
- Js/kryptik.ad ✓ - Forum Virus
4 réponses
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 ?
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>
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. ^^