11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Quand j'enlève la ligne doctype ça marche sous FF.
Sous IE ça marche avec la ligne doctype.

le msg d'erreur est :
Erreur d'analyse de la valeur pour la propriété left
ligne 0

Kelkun saurait le pourquoi du comment ??

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans nom</title>
<SCRIPT language="javascript">
<!--
var timer=0;
var x=0; //donner ici la position initiale du calque
 
function init_timer(calq){ 	timer=1; }
 
function stop_timer(calq){	timer=0;	calque=calq;	x=0;	document.getElementById(calque).style.left=x;	}
 
function avant(max,calq){

maximum=max;calque=calq;

if (document.getElementById){document.getElementById(calque).style.left=x;	} // I.E.

if(timer==1 && x<maximum){		setTimeout("avant(maximum,calque)",40); 	x+=7;}

}
 
//-->
</SCRIPT>

</head>

<body>
<div id="moncalque" style="position:absolute;width:100px;height:100px;border:1px red solid;top:100px;">&nbsp;</div>
<p><a href="#" onmouseover="init_timer('moncalque');avant(500,'moncalque')" onmouseout="stop_timer('moncalque')">LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL</a>
</p>
</body>
</html>

Merci d'avance Smiley smile
Modifié par marholyne (30 Jan 2007 - 11:18)
Je crois savoir : il manque l'unité de mesure, ici en l'occurence je pense que c'est des px.
Ce qui donne une ligne semblable à : document.getElementById(...).style.left = x + "px";
bonsoir ...

et de plus la valeur de l'identifiant doit entre entre guillemet (simple ou double )

getElementById(calque)  --> getElementById("calque")


..et je ne vois qu'un identifiant mais <div id="moncalque" ...> ?!

(ps : c'est pas joli ..Kelkun)
Modifié par kzone (30 Jan 2007 - 01:49)
... et si tu veux valider ton code, remplace l'obsolète language="javascript" par type="text/javascript"...
koala64 a écrit :
Bonsoir marholyne, Smiley smile

Pourrais-tu éditer ton message afin d'encadrer les codes comme indiqué dans la FAQ ? Merci d'avance. Smiley cligne



Ca fait bien 5 fois que je sélectionne le code du message et que je clique sur le bouton "code" ! Smiley sweatdrop
Modérateur
ah... non, pas comme ça ! Smiley ravi

La FAQ a écrit :
2- Cliquer sur le bouton "éditer", en haut à droite du post, celui à côté du bouton "citer"
Une fois ton message édité, tu peux encadrer ton code en écrivant manuellement [code ]ton code[ /code] (sans les espaces). Le bouton ne sert que lors de la rédaction du message... Smiley cligne
Modifié par koala64 (30 Jan 2007 - 11:17)
koala64 a écrit :
ah... non, pas comme ça ! Smiley ravi

Une fois ton message édité, tu peux encadrer ton code en écrivant manuellement [code ]ton code[ /code] (sans les espaces). Le bouton ne sert que lors de la rédaction du message... Smiley cligne



wé j'ai vu Smiley ravi quelle nouille que moi !
....

a écrit :

florentG a écrit
IE accepte les unités, mais pas les autres.


et j'ai cherché un peu sur le Net avec Spécifier l'unité de mesure....

Cette spécification ne concerne donc que le CSS et pas le Html !?
Mais si seul IE accepte les unités de mesure , y a t-il un moyen pour un code unique ... ou alors je m'embrouille tout seul la tête (comme souvent) ??
@kzone : Il s'agit de JS ici et le code unique consiste à concaténer l'unité.
Modifié par aCOSwt (30 Jan 2007 - 13:41)
a écrit :

@kzone : Il s'agit de JS ici et le code unique consiste à concaténer l'unité.


. oui oui j'avais vu la concaténation ...mais je n'ai pas compris cette distinction IE et les autres ...

De toute façon le mieux c'est le mettre l'unité systématiquement sauf lorsque c'est égale à zéro !??
a écrit :

IE accepte les unités, mais pas les autres.

En fait je crois que c'est plutôt l'inverse : IE accepte l'absence d'unité, pas les autres
QuentinC a écrit :

IE accepte les unités, mais pas les autres.

En fait je crois que c'est plutôt l'inverse : IE accepte l'absence d'unité, pas les autres

Oui FF ne l'accepte pas par exemple.