Javascript ne fonctionnant qu'avec IE

Chamyky

Membre expert
Club iGen
11 Mars 2005
1 278
39
ehv.monespace.net
J'ai débuté le Javascript aujourd'hui même, avec un simple script déplaçant une balle (carrée, certes). Je ne l'ai pas fait de chez moi, aussi je n'ai pu tester que sur un PC, n'ayant que Internet Explorer 5 ! Et le script y fonctionnait correctement. De retour chez moi, j'ouvre la page avec Safari… et surprise, aucune réaction. De même avec Firefox !

J'ai donc ainsi deux (très simples) scripts qui, pour une obscure raison, ne fonctionnent que sous une vieille version d'IE.

Voici donc le script en question :

Bloc de code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>Premier essai de Javascript</title>
<style type="text/css" media="all">
#balle {
height: 50px;
width: 50px;
background-color: red;
position: relative;
top: 50px;
left: 10px;
}
</style>
<script language="Javascript">
var xBalle = 0;
var cBalle = 50;

function decalerBalleRouge () {
cBalle+=70;
}

function deplacementRegulier () {
balleRouge = document.getElementById('balle');
xBalle += (cBalle-xBalle)/20;
balleRouge.style.left = xBalle;
}

var timer = setInterval("deplacementRegulier()", 1000/48);
</script>
</head>
<body>
<a href="javascript:decalerBalleRouge()">D&eacute;caler la balle</a>
<div id=balle>&nbsp;</div>
</body>
</html>

La balle est sensée être déportée vers la droite, avec une petite transition, à chaque clic sur le lien. Mais que ce soit sous Safari ou Firefox, rien ne se passe.
 
Oula je ne sais pas pourquoi ça ne marche qu'avec IE, mais tu te casses un peu la tête non ?
à part si il y a une raison profonde, c'est un peu lourd ta technique non ?
 
Oula je ne sais pas pourquoi ça ne marche qu'avec IE, mais tu te casses un peu la tête non ?
à part si il y a une raison profonde, c'est un peu lourd ta technique non ?

Euh. En fait, j'ai visé quelque chose de simple - déplacer un carré vers la droite - et j'ai tenté de le réaliser avec ce que je savais, et deux-trois recherches sur le Web. Ensuite j'ai rajouté l'effet de transition.

Donc, non, il n'y a pas de raison profonde, j'ai juste fait de la première façon que j'ai trouvée&#8230; je suppose qu'il y a mieux ?

Edit : Et, je viens de trouver le problème : quand on donne une longueur, Safari tient absolument à ce qu'on spécifie l'unité. J'avais déjà cherché dans ce sens mais ça n'avait pas fonctionné&#8230;