11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à toutes et tous .

J'ai deux body dans une page :
[code=php]
<body onload="scrollBackground('banner',30,-6)" >
<body onload="changeimage()">

Qui me donne une multitude d'erreurs ..et je trouve pas la solution.
Mais qui fonctionnent.

D'avance merci .

Cordialement.
Modifié par Go'Gaule (07 Oct 2010 - 09:19)
Tu ne peux pas avoir deux body dans une page. C'est mal.

Mais rien ne t'empeche de lancer ton "changeimage()" dans "scrollBackground()" ou l'inverse.

Ou alors une petite fonction en plus (a la fin de la page) et tu la lances dans le onload :

<script type="text/javascript">
function gomongogaule( )
{  scrollBackground('banner',30,-6) ;
   changeimage() ;
}
</script>


Ou encore une dernière solution :
<body onload="scrollBackground('banner',30,-6);changeimage();">


Ou tu peux mettre un des onload sur autre chose qu'un <body>...
Modifié par Borak (06 Oct 2010 - 23:31)
Bonjour à toutes et tous .

Borak , merci .

J'ai déjà essayé ces solutions , et elles ne fonctionnent (plus exactement , je ne parviens pas à les faire fonctionner) .
<body onload="scrollBackground('banner',30,-6);changeimage();">
avec cette solution plus rien ne fonctionne .

N'y aurait-il pas une possibilité de mettre ces "ordres" dans une balise meta ???? , car que ma bannière fonctionne sans erreurs , je doit placer <body onlad="scrollBackground()> en en-tête.


Cordialement.
[code=php]<body onload="scrollBackground('banner',30,-6),changeimage();">

La bonne syntaxe
Modifié par Go'Gaule (07 Oct 2010 - 09:17)
Bon une petite bidouille dans ce cas.

Tu place un premier onload sur ton body.

Tu place le second sur une image dans ta page html
<img src='xxxxx' onload='xxx'>


Effectivement, un onload ne marche pas sur tous les objets. Mais une image, c'est bon Smiley smile

Mais il doit bien y avoir une autre solution pour lancer un script en tache de fond...
Modérateur
Pourtant, appeler la fonction gomongogaule devrait fonctionner. Tu devrais réessayer sur une page en ligne et nous la montrer, on pourrait voir quelle est ton erreur.
Le problème est que ses scripts sont des boucles infinies, donc le premier script empeche le passage du suivant Smiley smile

Pour lancer un script en tache de fond, on peut faire ça ?
<script type="text/javascript">
function gomongogaule()
{  setTimeout("scrollBackground('banner',30,-6);",0);
   setTimeout("changeimage();",0);
}
</script>

et dans ce cas, on peut laisser :
<body onload="gomongogaule();">

Modifié par Borak (07 Oct 2010 - 22:00)