script tout facile qui tourne pas

script tout facile qui tourne pas - HTML/CSS - Programmation

Marsh Posté le 08-09-2005 à 10:14:59    

Salut, pouvez vous me dire pourquoi ça marche pas?  

<html>
        <head>
        <title></title>
        </head>
<body>
 
<script language="javascript">
var totojs=1;
function reload() {
document.writeln(totojs);
totojs++;
}
 
setInterval("reload()",2000);
</script>
 
</body>
</html>


 
donc bien entendu j'attends que ça affiche 1, 2 , 3 ....
ça charge qu'une fois ("1" ) et après ça bloque. Je suis débutant en js, et je fais des tests pour comprendre. merci d'être indulgent :).
 
Merci et bonne journée.

Reply

Marsh Posté le 08-09-2005 à 10:14:59   

Reply

Marsh Posté le 08-09-2005 à 10:22:31    

document.write ca n'existepas le mieux c'est d'utiliser le innerHTML d'un objet
mais on en n'est pas là
 
http://www.toutjavascript.com/refe [...] l&parent=6

Reply

Marsh Posté le 08-09-2005 à 10:30:11    

heu désolé je ne comprends pas le "ça n'existe pas" j'ai cette instruction ds 3 bouquins différents? Et puis ça marche au moins une fois. Je suis à l'ouest?!

Reply

Marsh Posté le 08-09-2005 à 10:46:48    

on ne se sert plus de document.write pour ecrire des infos dans une page

Reply

Marsh Posté le 08-09-2005 à 11:43:29    

Bon alors je fais comment pour afficher qq chose?
j'ai essayé ton lien Gatsusat et ça marche bien; je l'avais déjà essayé tu l'avais donné dans un autre post. Mais justement, il me semble que je fais un truc vraiment similaire et ça ne marche pas. C'est bien ça qui me pose pb. Merci à toi ou à toute autre personne qui pourrait m'éclairer.

Reply

Marsh Posté le 08-09-2005 à 12:01:58    

setInterval renvoi une valeur
donc faut faire
 
var Montimer = setInterval(....)

Reply

Marsh Posté le 08-09-2005 à 12:26:17    

Je veux pas abuser de ta patience ni de ta bonne volonté, mais
j'ai bien effectué la modif que tu m'a indiqué mais ça ne marche pas plus.
Exactement le même résultat.
Qq'un a une idée?
Merci.
 

Reply

Marsh Posté le 08-09-2005 à 13:32:58    

C'est bien ce que je disais tout à l'heure, document.write c'est de la merde, ca ne fait que de la merde
 
en gros, ton document.writeln("demesfesses" ) a écrasé le contenu de la pageweb.
 
tiens un code qui fonctionne parfaitement
 

Code :
  1. <html>
  2.         <head>
  3.         <title></title>
  4.    <script type="text/javascript">
  5. var totojs=1;
  6. function reload() {
  7. var body = document.getElementsByTagName("BODY" )[0];
  8. body.innerHTML = body.innerHTML + totojs + "<br> \\n";
  9. totojs++;
  10. }
  11. setInterval("reload()",500);
  12. </script>
  13.         </head>
  14. <body>
  15. </body>
  16. </html>


Message édité par gatsusat le 08-09-2005 à 13:47:43
Reply

Marsh Posté le 08-09-2005 à 13:44:07    

je voulais pas te mettre en colère je suis désolé.   :(  
Ca marche parfaitement je te remercie infiniment  :)

Reply

Marsh Posté le 08-09-2005 à 14:51:25    

Je m'insère dans la conversation, il n'est jamais trop tard pour apprendre.
 
j'utilise également partout le document.write, je ne savais pas que c'était proscrit ^^
 
Ce que je ne comprends pas, c'est ce que tu fais en alternative avec le innerHTML, tu pourrais expliquer ? je n'aime pas utiliser du code sans savoir ce que ça fait  :jap:


Message édité par ANViL le 08-09-2005 à 14:51:37
Reply

Marsh Posté le 08-09-2005 à 14:51:25   

Reply

Marsh Posté le 08-09-2005 à 15:32:50    

en gros :  
ta page c'est comme un ensemble d'objets, chaque élément (<p></p>, body...) est un objet.
 
il suffit juste d'accéder à ces objets en utilisant des fonctions du DOM
exemple : pour accéder à l'élément body de la page :  
var monbody = document.getElementsByTagName("BODY" )[0];
la fonction utilisée me renvoie un descripteur d'objet, donc du coup pour modifier body, j'ai juste à utiliser la varaible monbody.
 
si tu veux approfondir, regarde le Dom Inspector sous Firefox, il est très interessant sinon, va voir sur www.quirksmode.org

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed