Qu est ce qui cloche dans mon script ? [JS] - Programmation
Marsh Posté le 17-03-2002 à 15:56:22
* clearTimeout et non pas cleartimeout
* document.write est fait pour être éxécuté lors du l'affichage initial de la page, eg
<b>texte en gras</b>
<script>document.write(new Date())</script>
l'utiliser alors que la page est chargée va effacer la page.
-> utiliser innerHTML =
<div id='maChaine'></div>
<script>
//window.document.write(chaine2);
maChaine.innerHTML = chaine2;
</script>
* commencer à -1, c'est pas top : commence à 0 (aff(0)) et déplace le j++ après chaine2 = ...
Marsh Posté le 17-03-2002 à 17:05:21
I don't know if you care or not but THANKS A LOT !!!
Marsh Posté le 17-03-2002 à 17:06:44
ah c'est vachement sympa ca gere meme les balises html.
si vous voulez voir :
<body>
<div id="mondiv"></div>
<script language="JavaScript">
<!--
var i;
var chaine2="";
var chaine="la chaine <br> toto";
var temps;
var tableau=new Array();
function aff(j){
if(j<chaine.length)
{
chaine2=chaine2+chaine.charAt(j);
//window.document.write(chaine2);
mondiv.innerHTML=chaine2;
j++;
var chainef="aff(" + j + " );";
temps=window.setTimeout(chainef,200);
}
else{
clearTimeout(temps);
}
}
//-->
</script>
//debut du programme
aff(0);
[jfdsdjhfuetppo]--Message édité par kayasax--[/jfdsdjhfuetppo]
Marsh Posté le 17-03-2002 à 17:38:06
vous auriez pas une URL pour une doc javascript ou alors c du DHTML nan ?
j'ai vu qu'il y avait aussi un innerText et j'amerais bien en savoir +
Marsh Posté le 17-03-2002 à 17:45:23
recherche google : innerhtml site:msdn.microsoft.com + i'm feeling lucky
sinon, www.w3.org
Marsh Posté le 17-03-2002 à 17:52:51
ah merde c du standard M$ !!
et sinon Youdontcare comment explique tu que la 1ere version de mon script affichait 2 caracteres si la page est detruite ??
passe pas dans opera
[jfdsdjhfuetppo]--Message édité par kayasax--[/jfdsdjhfuetppo]
Marsh Posté le 17-03-2002 à 18:05:31
>> et sinon Youdontcare comment explique tu que la 1ere version de mon script affichait 2 caracteres si la page est detruite ??
aucune idée pour les deux caractères ton premier document.write() doit être document.write('l' qui remplace toute la page par 'l' (ce qui gicle tout tout tout y compris ton code de script). peut-être que le document.write() est asynchrone et qu'il a eu le temps d'éxécuter ta fonction une deuxième fois.
innerHTML est standard ms mais tellement utilisé qu'il est supporté sous mozilla. si tu veux un truc 100% standard, je ne connais pas LA méthode mais un truc possible est de créer une node texte (avec createTextNode() http://www.w3.org/TR/DOM-Level-2-Core/core.html ), de l'attacher à une balise parent (ton <div> par ex, avec appendChild()) tout en effaçant celle créé précédemment (removeChild()).
Marsh Posté le 17-03-2002 à 18:11:45
Wazaaa!
la je sens ke ca va devenir trop balaise pour pas gd chose mais un grand merci pour ton aide
Marsh Posté le 17-03-2002 à 15:17:20
aidez moi plizzz j'en dors plus depuis 2 jours
je veux faire un script qu'a pas l'air bien mechant : afficher 1 par 1 les caracteres d'une chaine
voici mon script :
<script language="JavaScript">
<!--
var i;
var chaine2="";
var chaine="la chaine a afficher";
var temps;
var tableau=new Array();
function aff(j){
if(j<chaine.length)
{
j++;
chaine2=chaine2+chaine.charAt(j);
window.document.write(chaine2);
var chainef="aff(" + j + " );";
//alert(chainef);
if(j!=0){
cleartimeout(temps);
}
temps=window.setTimeout(chainef,100);
}
else{
cleartimeout(temps);
}
}
//debut du programme
aff(-1);
//-->
</script>
Il m'affiche bien les 2 premiers caracteres puis il me sort objet attendu. j'ai essaye pleins de facons differentes mais je m'en sors pas ca me prend la tete grave !
Un bon point pour celui ki trouve !!!
---------------
All we need is a soul revolution