Bonjour
Voilà, je fais du JavaScript en séparant le dynamisme et le contenu; donc je fais tout dans le fichier JavaScript
Bref, je détaille. Imaginons que je veuille effectuer une instruction sur tous les <div> de la page. Cela me donne :
La fonction mouseOver() contient toutes les instructions.
Pour agir sur le <div> en question, dans mouseOver(), j'utilise this. Exemple en modifiant le background-color :
Cela fonctionne très bien.
Maintenant, j'aurais voulu faire une fonction du même genre en donnant en paramètre l'objet voulu.
Par exemple :
Et qu'il me change donc la couleur de fond du premier <div> au chargement de la page. Ce qui donne une fonction du genre :
Ceci fonctionne également très bien.
Le problème en lui-même, maintenant, c'est que je voudrais faire une "boucle" :
Le problème se passe dans :
Lorsque je tente de lui passer en paramètre cet objet (qui vient du paramètre de la fonction même [function mouseOver([b]objet)[/i]]), l'erreur ressortie est :
Enfin bref, je n'arrive pas à faire passer l'objet en paramètre de la fonction elle-même.
Voilà, en espèrant avoir été clair...
Merci d'avance !
Modifié par Nyro Xeo (08 May 2005 - 02:27)

Voilà, je fais du JavaScript en séparant le dynamisme et le contenu; donc je fais tout dans le fichier JavaScript

Bref, je détaille. Imaginons que je veuille effectuer une instruction sur tous les <div> de la page. Cela me donne :
window.onload = function()
{
var div = document.getElementsByTagName('div');
for(var j=0;j<div.length;i++)
{
div[j].onmouseover = mouseOver;
}
}
La fonction mouseOver() contient toutes les instructions.
Pour agir sur le <div> en question, dans mouseOver(), j'utilise this. Exemple en modifiant le background-color :
function mouseOver()
{
this.style.backgroundColor = 'red';
}
Cela fonctionne très bien.
Maintenant, j'aurais voulu faire une fonction du même genre en donnant en paramètre l'objet voulu.
Par exemple :
window.onload = function()
{
mouseOver(document.getElementsByTagName('div')[0]);
}
Et qu'il me change donc la couleur de fond du premier <div> au chargement de la page. Ce qui donne une fonction du genre :
function mouseOver(objet)
{
objet.style.backgroundColor = 'red';
}
Ceci fonctionne également très bien.
Le problème en lui-même, maintenant, c'est que je voudrais faire une "boucle" :
var boucle = 0;
function mouseOver(objet)
{
objet.style.backgroundColor = 'rgb('+boucle+', '+boucle+', '+boucle+')';
if (boucle <= 255)
{
setTimeout("mouseOver("+objet+");", 100);
boucle++;
}
}
Le problème se passe dans :
setTimeout("mouseOver("+objet+");", 100);
Lorsque je tente de lui passer en paramètre cet objet (qui vient du paramètre de la fonction même [function mouseOver([b]objet)[/i]]), l'erreur ressortie est :
a écrit :
Missing ] after element list
mouseOver([object HTMLDivElement]);
Enfin bref, je n'arrive pas à faire passer l'objet en paramètre de la fonction elle-même.
Voilà, en espèrant avoir été clair...
Merci d'avance !

Modifié par Nyro Xeo (08 May 2005 - 02:27)