[HTML] Mise en forme

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonsoir

Je n'arrive pas à mettre deux fois ceci dans une page. Le premier ça passe mais le second ne fonctionne pas. Les deux devraient changer de couleur hors il n'y a que le premier qui fonctionne.
Quelqu'un peu t-il m'expliquer pouquoi. Merci.


<CENTER><B>
<FONT size="5">
<SCRIPT>

/*
*/

// ********** MAKE YOUR CHANGES HERE

var text="TEXTE TEXTE " // YOUR TEXT
var speed=100 // SPEED OF FADE

// ********** LEAVE THE NEXT BIT ALONE!


if (document.all||document.getElementById){
document.write('<span id="highlight">' + text + '</span>')
var storetext=document.getElementById? document.getElementById("highlight") : document.all.highlight
}
else
document.write(text)
var hex=new Array("00","14","28","3C","50","64","78","8C","A0","B4","C8","DC","F0")
var r=1
var g=1
var b=1
var seq=1
function changetext(){
rainbow="#"+hex[r]+hex[g]+hex[b]
storetext.style.color=rainbow
}
function change(){
if (seq==6){
b--
if (b==0)
seq=1
}
if (seq==5){
r++
if (r==12)
seq=6
}
if (seq==4){
g--
if (g==0)
seq=5
}
if (seq==3){
b++
if (b==12)
seq=4
}
if (seq==2){
r--
if (r==0)
seq=3
}
if (seq==1){
g++
if (g==12)
seq=2
}
changetext()
}
function starteffect(){
if (document.all||document.getElementById)
flash=setInterval("change()",speed)
}
starteffect()
</SCRIPT><SPAN id="highlight" STYLE='color: #0064f0'></SPAN><SPAN id="highlight" STYLE='color: #64f000'></SPAN><SPAN id="highlight" STYLE='color: #f000f0'></SPAN>
</FONT></B></CENTER>
 


c'est ici quand j'essai de mettre une deuxième fois le code du dessus ça fonctionne pas

Merci
A voir également:

4 réponses

Gihef Messages postés 5150 Date d'inscription   Statut Contributeur Dernière intervention   2 779
 
Bonjour,

Ce n'est pas du HTML.
C'est du Javascript. Certainement des noms de variables à changer ?

Tu aurais peut-être plus de résultats avec un titre adapté dans le developpement ?
0
Utilisateur anonyme
 
Merci de ta réponse.
J'ai peut-être mal formulé.
Mais ce javascript on peut le placer dans une page html sous les balises <HEAD> et </HEAD> non ?

Ou alors j'ai vraiment rien compris :-(
0
Gihef Messages postés 5150 Date d'inscription   Statut Contributeur Dernière intervention   2 779
 
“ce javascript” est bien du Javascript. Pas du HTML. C'est ça qui te pose problème. Le seul HTML présent là-dedans c'est
<span id="highlight"> </span>

C'est lui, le script, qui écrit pour toi le HTML
document.write('<span id="highlight">' + text + '</span>')
Il écrit le contenu de la varible "text" entre <span>. Tu auras beau ajouter des <span>, il ne fera rien dedans.
Toi, tu ne peux que changer le contenu de la variable "text" et la vitesse du fondu.
MAKE YOUR CHANGES HERE 
var text="TEXTE TEXTE " // <-------------- YOUR TEXT
“TEXTE TEXTE ”, c'est ça que tu peux changer et qui s'inscrit dans la page.

Dans la page, dans le <body>, ça doit être placé. Pas dans la <head>. Puisque ça écrit.

Et, Reivax962 précise bien que ce sont “des noms de variables à changer”, mais peut-être aussi les noms des fonctions.

En faisant au pif, et donc sans être sûr que tout soit utile ou suffisant, essaye ça :
<SCRIPT> 

// ********** Effectuez vos changements ci-dessous 

var text="TEXTE TEXTE "; // <----------- Votre texte 
var text2="Ça marche&nbsp;? ";
var speed=200; // Vitesse du fondu 

// ********** Ne touchez pas au reste ! 
// ********** Enfin, là, on a été obligé !


if (document.all||document.getElementById){ 
    document.write('<br /><br /><span id="highlight">' + text + '</span><br /><br />');
    document.write('<p style="color:#888;font-size:14px;text-align:left;">Seules des variables ont été changées et ajoutées.</p>');
    document.write('<p style="color:#888;font-size:14px;text-align:left;">Les paragraphes et les styles de texte sont les seuls éléments HTML ajoutés.</p>');
    document.write('<br /><p style="color:#888;font-size:14px;text-align:left;">Ça manque de souplesse.</p><br />');
    document.write('<span id="highlight2" style="font-style:italic;">' + text2 + '</span><br /><br />');
    document.write('<span id="highlight3" style="font-style:italic;">' + text2 + '</span><br /><br />');
    var storetext=document.getElementById? document.getElementById("highlight") : document.all.highlight 
    var storetext2=document.getElementById? document.getElementById("highlight2") : document.all.highlight2 
    var storetext3=document.getElementById? document.getElementById("highlight3") : document.all.highlight3 
    } 
else 
    document.write(text) ;
    var hex=new Array("00","14","28","3C","50","64","78","8C","A0","B4","C8","DC","F0") 
    var r=1 
    var g=1 
    var b=1 
    var seq=1 

function changetext(){ 
    rainbow="#"+hex[r]+hex[g]+hex[b] 
    rainbow2="#"+hex[b]+hex[r]+hex[g] 
    storetext.style.color=rainbow 
    storetext2.style.color=rainbow2 
    storetext3.style.color=rainbow 
    } 

function change(){ 
    if (seq==6){ 
    b-- 
    if (b==0) 
    seq=1 
    } 
    if (seq==5){ 
    r++ 
    if (r==12) 
    seq=6 
    } 
    if (seq==4){ 
    g-- 
    if (g==0) 
    seq=5 
    } 
    if (seq==3){ 
    b++ 
    if (b==12) 
    seq=4 
    } 
    if (seq==2){ 
    r-- 
    if (r==0) 
    seq=3 
    } 
    if (seq==1){ 
    g++ 
    if (g==12) 
    seq=2 
    } 
    changetext() 
    } 

function starteffect(){ 
    if (document.all||document.getElementById) 
    flash=setInterval("change()",speed) 
    } 

starteffect()

</SCRIPT>
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Il y a plusieurs problèmes qui font que cela ne peut pas fonctionner si tu colles ça de façon identique deux fois.

- <span id="highlight"> : "id" est censé être unique. Or, là, si tu colles deux fois le code, tu auras deux éléments qui ont le même id. Change cet id dans l'un des deux codes (et fais attention à propager le changement à la suite !)

- les noms des variables déclarées :
var hex=new Array("00","14","28","3C","50","64","78","8C","A0","B4","C8","DC","F0")
var r=1
var g=1
var b=1
var seq=1
seront les mêmes dans les deux blocs, ce qui ne devrait pas arriver ! modifie-les en r1 et r2, g1 et g2, etc...

- les fonctions change() et autres sont déclarées deux fois. modifie-les en change1 et change2.
0
Utilisateur anonyme
 
Merci de l'explication à tous les deux, je comprends un peu mieux maintenant.

Dommage de lire des erreurs sur des pages web et s'obstiné à vouloir faire ce qui est indiqué.

Si vous avez des sites bien exliqué et sans erreurs (!) ça serait la bienvenue ;-)

Merci
0