11548 sujets

JavaScript, DOM et API Web HTML5

Salut à tous,

Etant un newbie quasi-absolu dans le monde du "webmastering", j'aurais besoin de vos lumières à propos de ces 2 fonctions, que j'essaye d'insérer dans une page volontairement simple pour l'instant dont j'ai mis le code ci-dessous.

Résultat espéré : au chargement de la page, les div "avr" et "mai" sont censées défiler de la gauche vers la droite jusqu'à une position absolue (ici, 503 px pour "avr", 571 px pour "mai").

J'ai retourné la 1e ligne du body dans tous les sens, notamment comme ceci :


<body bgcolor="#EAF7FF" onLoad="init_timer();avant(503,'avr'); avant(571,'mai')">


mais seul "mai" apparaît...

L'un d'entre les génies qui parcourent le forum aurait-il une idée ? (car c'est sans doute une broutille...) Smiley cligne



<html>
<head>
<title>Agenda</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
<!--

timer=0;
x=-151
 
function init_timer(){
	timer=1;
}
 
function avant(max,calq){
	maximum=max;
	calque=calq;
if (document.getElementById){
	document.getElementById(calque).style.left=x;
	}
if (document.all && !document.getElementById){
	document.all.style.left=x;
	}
if (document.layers){
	document.layers.left=x;
	}
if(timer==1 && x<maximum){
	setTimeout("avant(maximum,calque)",40);
 
	x+=25;
	}
}
 
//-->
</SCRIPT>
</head>

<body bgcolor="#EAF7FF" onLoad="init_timer();avant(571,'mai')">
<div id="mai" style="position:absolute; width:65px; height:35px; z-index:1; left: -151px; top: 58px; background-color: #66606C; layer-background-color: #66606C; border: 1px none #000000; visibility: visible"> 
  <div align="center"><font face="Trebuchet MS" size="5"><b><font color="#EAF7FF">M</font></b></font></div>
</div>

<div id="avr" style="position:absolute; width:70px; height:35px; z-index:1; left: -151px; top: 58px; background-color: #66606C; layer-background-color: #66606C; border: 1px none #000000; visibility: visible"> 
  <div align="center"><font face="Trebuchet MS" size="5" color="#EAF7FF"><b>A</b></font></div>
</div>
</body>
</html>
Dans ton setTimeout, tes variables sont en fait des strings, du coup ça ne fonctionnera pas.

Tu dois les encapsuler des une fonction, ou lancer une fonction en l'appelant par reference.
Shinuza a écrit :
Dans ton setTimeout, tes variables sont en fait des strings, du coup ça ne fonctionnera pas.

Tu dois les encapsuler dans une fonction, ou lancer une fonction en l'appelant par reference.



Merci de la réponse, mais le newbie que je suis n'y comprend que pouic...
(et pourtant j'essaye, j'ai tenté de créer une Class avec variables mais c'est au-dessus de mes forces...)
Cher maître, pourrais-tu me donner un exemple avec les 2 valeurs maximum 503 (pour 'avr') et 571 (pour 'mai') ???