OVH Cloud OVH Cloud

ça veut pas marcher !

8 réponses
Avatar
Pierre
Bonjour à toutes et àtous,

Je voudrais animer une page htm.

j'ai vu à l'adresse suivante :

http://fr.selfhtml.org/javascript/objets/window.htm

l'instruction "setInterval" qui apparemment sert de séquenceur.

Ils donnent un exemple :


<script type="text/javascript">
<!--
var Actif = window.setInterval("Couleur()",1000);
var i = 0, couleur = 1;
function Couleur() {
if(couleur==1)
{ document.bgColor="yellow"; couleur=2; }
else
{ document.bgColor="aqua"; couleur=1; }
i = i + 1;
if(i >= 10)
window.clearInterval(Actif);
}
//-->
</script>


que j'ai mis en oeuvre : OK.

Maintenant, j'ai remplacé les instructions :

document.bgColor="yellow"; et document.bgColor="aqua";

par :

document.write('Jaune'); et document.write('Aqua')

Ca ne marche plus du tout. Sous IE6 et FireFox 1.5, cela affiche :
"Jaune" et puis ça en reste là. Sous FireFox, dans l'onglet de la
fenêtre, il y a marqué : "chargement ..." comme si le chargement ne se
terminait jamais.

Merci de votre aide.

Pierre.

8 réponses

Avatar
Cenekemoi
Bonjour à toutes et àtous,

Je voudrais animer une page htm.

j'ai vu à l'adresse suivante :

http://fr.selfhtml.org/javascript/objets/window.htm

l'instruction "setInterval" qui apparemment sert de séquenceur.

Ils donnent un exemple :


<script type="text/javascript">
<!--
var Actif = window.setInterval("Couleur()",1000);
var i = 0, couleur = 1;
function Couleur() {
if(couleur==1)
{ document.bgColor="yellow"; couleur=2; }
else
{ document.bgColor="aqua"; couleur=1; }
i = i + 1;
if(i >= 10)
window.clearInterval(Actif);
}
//-->
</script>


que j'ai mis en oeuvre : OK.

Maintenant, j'ai remplacé les instructions :

document.bgColor="yellow"; et document.bgColor="aqua";

par :

document.write('Jaune'); et document.write('Aqua')

Ca ne marche plus du tout. Sous IE6 et FireFox 1.5, cela affiche :
"Jaune" et puis ça en reste là. Sous FireFox, dans l'onglet de la
fenêtre, il y a marqué : "chargement ..." comme si le chargement ne se
terminait jamais.

Merci de votre aide.

Pierre.


Entre nous, ce qui se passe est normal.
Ce qui nous intéresserait, c'est ce que, TOI, tu désirerais obtenir, car
là, je vois mal !...

--
Cordialement, Thierry ;-)

Avatar
Pierre

Bonjour à toutes et àtous,

Je voudrais animer une page htm.

j'ai vu à l'adresse suivante :

http://fr.selfhtml.org/javascript/objets/window.htm

l'instruction "setInterval" qui apparemment sert de séquenceur.

Ils donnent un exemple :


<script type="text/javascript">
<!--
var Actif = window.setInterval("Couleur()",1000);
var i = 0, couleur = 1;
function Couleur() {
if(couleur==1)
{ document.bgColor="yellow"; couleur=2; }
else
{ document.bgColor="aqua"; couleur=1; }
i = i + 1;
if(i >= 10)
window.clearInterval(Actif);
}
//-->
</script>


que j'ai mis en oeuvre : OK.

Maintenant, j'ai remplacé les instructions :

document.bgColor="yellow"; et document.bgColor="aqua";

par :

document.write('Jaune'); et document.write('Aqua')

Ca ne marche plus du tout. Sous IE6 et FireFox 1.5, cela affiche :
"Jaune" et puis ça en reste là. Sous FireFox, dans l'onglet de la
fenêtre, il y a marqué : "chargement ..." comme si le chargement ne se
terminait jamais.

Merci de votre aide.

Pierre.



Entre nous, ce qui se passe est normal.


J'avoue que je ne comprends pas. Pouvez-vous m'expliquer ?

Ce qui nous intéresserait, c'est ce que, TOI, tu désirerais obtenir, car
là, je vois mal !...

Ben je pensais que j'allais voir alternativement Jaune /Aqua de la même

manière que dans l'exemple la couleur du fond bascule de Jaune à Aqua.


Merci de votre aide.

Pierre.


Avatar
Cenekemoi
Maintenant, j'ai remplacé les instructions :

document.bgColor="yellow"; et document.bgColor="aqua";

par :

document.write('Jaune'); et document.write('Aqua')

Ca ne marche plus du tout. Sous IE6 et FireFox 1.5, cela affiche :
"Jaune" et puis ça en reste là. Sous FireFox, dans l'onglet de la
fenêtre, il y a marqué : "chargement ..." comme si le chargement ne
se terminait jamais.

Merci de votre aide.

Pierre.



Entre nous, ce qui se passe est normal.


J'avoue que je ne comprends pas. Pouvez-vous m'expliquer ?


"document.write" va écrire dans la page, donc voir une page avec "jaune"
écrit est normal.
Avec "document.write", il faudrait que tu réécrive TOUTE la page html
(avec entre autres le script).

Non, ce qu'il te faut faire, c'est qcque chose du genre :

document.getElementById("ton_element"").innerHTML = "jaune";

avec dans ton code html, une balise telle :

<div id="ton_element"></div>

--
Cordialement, Thierry ;-)



Avatar
Pierre


Maintenant, j'ai remplacé les instructions :

document.bgColor="yellow"; et document.bgColor="aqua";

par :

document.write('Jaune'); et document.write('Aqua')

Ca ne marche plus du tout. Sous IE6 et FireFox 1.5, cela affiche :
"Jaune" et puis ça en reste là. Sous FireFox, dans l'onglet de la
fenêtre, il y a marqué : "chargement ..." comme si le chargement ne
se terminait jamais.

Merci de votre aide.

Pierre.




Entre nous, ce qui se passe est normal.



J'avoue que je ne comprends pas. Pouvez-vous m'expliquer ?



"document.write" va écrire dans la page, donc voir une page avec "jaune"
écrit est normal.
Avec "document.write", il faudrait que tu réécrive TOUTE la page html
(avec entre autres le script).

Non, ce qu'il te faut faire, c'est qcque chose du genre :

document.getElementById("ton_element"").innerHTML = "jaune";

avec dans ton code html, une balise telle :

<div id="ton_element"></div>

Merci, je vais chercher autour de cela.


Cependant, j'ai été dans ce même temps confronté à un autre problème :
c'est l'en-tête du javascript qui est dans l'exemple :

<script type ="text/javascript>

et ce que j'ai l'habitude d'écrire :

<script language="javascript>

un "document.write" ne marque rien dans la 1ère forme alors que cela
fonctionne dans la 2ème ???

Je suis allé voir sur le site de la norme (en anglais), c'est très
touffu et je n'ai rien compris.

Cordialement.

Pierre.




Avatar
CrazyCat
Pierre wrote:
Cependant, j'ai été dans ce même temps confronté à un autre problème :
c'est l'en-tête du javascript qui est dans l'exemple :
<script type ="text/javascript>
et ce que j'ai l'habitude d'écrire :
<script language="javascript>


En toute logique, les deux sont faux:
<script language="javascript" type="text/javascript">
Ceci est une déclaration juste qui définit le langage utilisé ainsi que
son type mime.

--
Aide informatique: http://help-info.forumactif.com
Humour: http://www.chatfou.com
Tchattez en liberté: http://www.crazy-irc.net

Avatar
YD

Cependant, j'ai été dans ce même temps confronté à un autre problème :
c'est l'en-tête du javascript qui est dans l'exemple :
<script type ="text/javascript>
et ce que j'ai l'habitude d'écrire :
<script language="javascript>


En toute logique, les deux sont faux:
<script language="javascript" type="text/javascript">
Ceci est une déclaration juste qui définit le langage utilisé ainsi que
son type mime.


Ce n'est malheureusement pas aussi simple !

Tout dépend de la version de HTML que l'on utilise... Avec (et à partir de)
la version HTML 4.0, l'attribut language a été déprécié au profit de type
qui est lui obligatoire depuis les versions 4.01.
Si on écrit avec un doctype HTML 4.01 strict, l'attribut language n'existe
pas, alors qu'il subsiste dans les versions transitional et frameset
(dérivée de transitional).
On doit donc écrire <script type="text/javascript">//contenu</script> ou
<script type="text/javascript" src="mon_fichier.js"></script> en strict.
La règle est la même avec XHTML 1.0 et au-delà. Bien sûr, text/javascript
est à remplacer avec le type MIME du langage de script utilisé...

Si on utilise une version plus ancienne (la 3.2 donc) les attributs ne
sont pas spécifiés dans la norme. C'était un usage des premiers
navigateurs ayant introduit le scripting d'indiquer le langage et
éventuellement la version minimale.

En clair, il faut :
- ne pas oublier d'indiquer au début de sa page le doctype correspondant au
HTML ou XHTML utilisé
- déclarer le script selon ce que permet la norme déclarée
- ne pas perdre de vue que la déclaration du doctype a d'autres conséquences
que la déclaration des scripts, en particulier en ce qui concerne le rendu
des éléments.

Une bonne pratique est à mon avis d'écrire en HTML 4.01 (strict, transitional
ou frameset selon ses besoins) et de se contenter de ce qui est requis par la
norme, à savoir :
<script type="text/javascript">//contenu</script>
ou
<script type="text/javascript" src="mon_fichier.js"></script>

--
Y.D.


Avatar
Pierre

Cependant, j'ai été dans ce même temps confronté à un autre problème
: c'est l'en-tête du javascript qui est dans l'exemple :
<script type ="text/javascript>
et ce que j'ai l'habitude d'écrire :
<script language="javascript>



En toute logique, les deux sont faux:
<script language="javascript" type="text/javascript">
Ceci est une déclaration juste qui définit le langage utilisé ainsi
que son type mime.



Ce n'est malheureusement pas aussi simple !

Tout dépend de la version de HTML que l'on utilise... Avec (et à partir de)
la version HTML 4.0, l'attribut language a été déprécié au profit de type
qui est lui obligatoire depuis les versions 4.01.
Si on écrit avec un doctype HTML 4.01 strict, l'attribut language n'existe
pas, alors qu'il subsiste dans les versions transitional et frameset
(dérivée de transitional).
On doit donc écrire <script type="text/javascript">//contenu</script> ou
<script type="text/javascript" src="mon_fichier.js"></script> en strict.
La règle est la même avec XHTML 1.0 et au-delà. Bien sûr, text/javascript
est à remplacer avec le type MIME du langage de script utilisé...

Si on utilise une version plus ancienne (la 3.2 donc) les attributs ne
sont pas spécifiés dans la norme. C'était un usage des premiers
navigateurs ayant introduit le scripting d'indiquer le langage et
éventuellement la version minimale.

En clair, il faut :
- ne pas oublier d'indiquer au début de sa page le doctype correspondant au
HTML ou XHTML utilisé
- déclarer le script selon ce que permet la norme déclarée
- ne pas perdre de vue que la déclaration du doctype a d'autres
conséquences
que la déclaration des scripts, en particulier en ce qui concerne le rendu
des éléments.

Une bonne pratique est à mon avis d'écrire en HTML 4.01 (strict,
transitional
ou frameset selon ses besoins) et de se contenter de ce qui est requis
par la
norme, à savoir :
<script type="text/javascript">//contenu</script>
ou
<script type="text/javascript" src="mon_fichier.js"></script>

Voilà qui est clair et précis.


Merci beaucoup.

Pierre.



Avatar
Pierre


Maintenant, j'ai remplacé les instructions :

document.bgColor="yellow"; et document.bgColor="aqua";

par :

document.write('Jaune'); et document.write('Aqua')

Ca ne marche plus du tout. Sous IE6 et FireFox 1.5, cela affiche :
"Jaune" et puis ça en reste là. Sous FireFox, dans l'onglet de la
fenêtre, il y a marqué : "chargement ..." comme si le chargement ne
se terminait jamais.

Merci de votre aide.

Pierre.




Entre nous, ce qui se passe est normal.



J'avoue que je ne comprends pas. Pouvez-vous m'expliquer ?



"document.write" va écrire dans la page, donc voir une page avec "jaune"
écrit est normal.
Avec "document.write", il faudrait que tu réécrive TOUTE la page html
(avec entre autres le script).

Non, ce qu'il te faut faire, c'est qcque chose du genre :

document.getElementById("ton_element"").innerHTML = "jaune";

avec dans ton code html, une balise telle :

<div id="ton_element"></div>

Vu, merci, j'ai réussi à faire ce que je voulais par cette méthode :

faire bouger des images dans ma page.

Pierre.