Bonjour,
mon probleme est le déplacement d'un div créer a l'aide d'un objet perso :
voici le code du ficher javascript :
et la le code de la page html :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 // JavaScript Document function Menu(x,y,largeur,hauteur,name,id,texte,classe,position){ this.pos_x = x; this.pos_y = y; this.largeur = largeur; this.hauteur = hauteur; this.name = name; this.id = id; this.texte = texte; this.classe = classe; this.position = position; this.html = CadreMenu; this.deplacement = deplace; } function CadreMenu(){ str="<div id="+this.id+">"+this.texte+"</div>"; document.write(str); document.getElementById(this.id).style.position = "absolute"; document.getElementById(this.id).style.left = this.pos_x+"px"; document.getElementById(this.id).style.top = this.pos_y+"px"; document.getElementById(this.id).style.width = this.largeur+"px"; document.getElementById(this.id).style.height = this.hauteur+"px"; document.getElementById(this.id).style.backgroundColor = "blue"; } function deplace(){ if(this.pos_y < 500){ //alert("pos_y "+this.pos_y); document.getElementById(this.id).style.top = this.pos_y+100+"px"; this.pos_y = parseInt(document.getElementById(this.id).style.top); timer = setTimeout("\'"+this.deplacement()+"\'",1000); } else { alert("fin "+this.pos_y); } }
================
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Document sans nom</title> <script type="text/javascript" src="menuGauche.js"></script> </head> <body> <script language="javascript1.5"> var menu1 = new Menu(100,100,100,200,"m1","id_m1","Premier Menu ","clM1","H"); menu1.html(); menu1.deplacement(); </script> </body> </html>
Mon souci est que l'emploi de la methode deplacement me place bien le div en ordonnée 500 mais en une fois seulement.
SI en revanche je decommente la ligne d'alerte, on peut voir le div se deplacer de 100 entre chaque alerte.
Je ne comprends pas pourquoi.
Quelqu'un a-t-il une solution ?
Merci
Partager