Voila, je cherche à faire un script qui permettrait à un paragraphe de faire le tour de sa fenêtre du navigateur. Pour l'instant, il sagit d'un simple "brouillon" que je travaille phase par phase et qui est intégré à la page html. J'en suis à la 1ère phase, le déplacement de gauche à droite, et déjà je bute sur plusieurs difficultés. Voici ma page :
<html>
<head>
<title>Création d'un site web en html et javascript</title>
<style>
<!--
#texte{
position: absolute;
top: 100px;
left: 50px;
font-size: 30px;
font-family: arial;
font-weight: bold;
}
//-->
</style>
<script language="Javascript">
isNetscape4 = document.layers;
isNetscape6 = document.getElementById && !document.all
dhtml = document.getElementById || document.all || document.layers;
abscisse = 50;
ordonnee = 100;
function getStyle(nom) {
if (isNetscape6)
var style = document.getElementById(nom).style;
else if (isNetscape4)
var style = document.layers[nom];
else
var style = document.all[nom].style;
return(style)
}
function largeur() {
retourLigne = "<br />";
temp = "";
indmax = 0;
indice = texte.indexOf(retourLigne);
while(indice != -1){
if indice > indmax indmax = indice;
temp = texte.substr(indice + retourLigne.length);
indice = temp.indexOf(retourLigne);
}
indice = texte.lasIndexOf(retourLigne);
temp = text.substr(indice + retourLigne.length);
if temp.length > indmax indmax = temp.length;
return(indmax);
}
function moveText() {
if (!dhtml)
return;
var absmax = screen.availWidth - largeur() * getStyle('texte').font-size);
while (getStyle('texte').left < absmax) {
abscisse ++;
setTimeout("getStyle('texte').left = abscisse",500);
}
abscisse = 500;
getStyle('texte').left = abscisse;
moveText();
}
</script>
</head>
<body onload="moveText()">
<div id="texte">
Ce site sans theme particulier est un exercice et un<br />
entraînement à la production en javascript. Toutes vos<br />
idées pour son développement sont les bienvenues.
</div>
</body>
</html>
Mes problémes sont les suivants :
- Je ne sais pas comment désigner la chaîne de caractère contenue entre les balises <div id="texte"></div>, que j'ai ici nommée simplement texte ("texte.indexOf(retourLigne)" par exemple).
- Je ne sais pas s'il existe un moyen plus simple d'obtenir la largeur d'une chaine en pixels.
-Le navigateur qui lit cette page me déclare une erreur à la ligne 60 "<body onload="moveText()">" en signalant qu'un objet est attendu. J'ai déjà rencontré cette erreur en oubliant de fermer des parenthèses, des guillemets, une balise ou encore des accolades, mais après plusieurs vérifications, je ne trouve pas ici quelle en est la cause.
En vous remerciant par avance de votre aide
Nitruk