Text area

Résolu
massacr Messages postés 233 Date d'inscription vendredi 2 juillet 2004 Statut Membre Dernière intervention 4 janvier 2007 - 4 sept. 2004 à 11:07
massacr Messages postés 233 Date d'inscription vendredi 2 juillet 2004 Statut Membre Dernière intervention 4 janvier 2007 - 4 sept. 2004 à 18:54
J'ai trouvé ce script sur le site : le webmestre.
Il affiche un texte avec effet dans un text area.
Seulement, il est infini, est-il possible de définir un nombre d'affichage maximum ?

<HTML>
<HEAD>
<script language="JavaScript">
var max=0;
function textlist() {
max=textlist.arguments.length;
for (i=0; i<max; i++) //lwf
this[i]=textlist.arguments[i];
}

// Cette liste peu être augmentée
tl = new textlist(
"message 1"
);

var x = 0;
pos = 0;
var l = tl[0].length;
function textticker() {
document.tickform.tickfield.value = tl[x].substring(0, pos) + "_";
if(pos++ == l) {
pos = 0; //lwf
setTimeout("textticker()", 2000); if(++x max) x 0;
l = tl[x].length;
} else
setTimeout("textticker()", 50);
}
</script>
</HEAD>

<form name="tickform">
<textarea name="tickfield" rows="3" cols="38" style="background-color: burlywood; color: black; cursor: default; font-family: Arial; font-size: 12px" wrap="virtual">
Les news apparaissent ici, une fois que la page est chargée.
</textarea>
</form>

</HTML>

5 réponses

rttb Messages postés 290 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 25 avril 2008
4 sept. 2004 à 14:19
Je suis de bonne humeur alors voila :

<HTML>
<HEAD>
<script language="JavaScript">
var max=0;
function textlist() {
max=textlist.arguments.length;
for (i=0; i<max; i++) //lwf
this[i]=textlist.arguments[i];
}

// Cette liste peu être augmentée
tl = new textlist( 
"message 1"
);
compteur =0; // la variable compteur	  

var x = 0;
pos = 0;
var l = tl[0].length;
function textticker() {
document.tickform.tickfield.value = tl[x].substring(0, pos) + "_";
if(pos++ == l) {
pos = 0; //lwf
montimer=setTimeout("textticker()", 2000); 
if(++x == max) {
   x = 0; 
l = tl[x].length;  
compteur++; // incrementation de la variable
if (compteur==3){ // test du nombre de fois
compteur=0;
clearTimeout(montimer);
}
}
} else {
montimer=setTimeout("textticker()", 50);
}
}		 

</script> 
</HEAD>

<form name="tickform">
<textarea name="tickfield" rows="3" cols="38" style="background-color: burlywood; color: black; cursor: default; font-family: Arial; font-size: 12px" wrap="virtual">
Les news apparaissent ici, une fois que la page est chargée.
</textarea>
</form>

</HTML> 
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
4 sept. 2004 à 13:19
Bonjour,
c'est setTimeout("textticker()", 2000);
qui relance l'affichage.
donc => mettre une variable globale que
l'on incrémente "à chaque tour" et ne
faire appel à textticker que si cette
variable n'a pas atteint le nombre maxi
d'affichages voulu.
Cordialement Bul. [Site] [[mailto:marcel.Bultez@Tiscali.fr Mail]]
0
rttb Messages postés 290 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 25 avril 2008
4 sept. 2004 à 13:23
Sans aucun problème, tu insères une variable compteur incrémentée après if(++x == max) x = 0; Ca compte alors le nombre de fois que la phrase est écrite.
tu testes ta variable avec un If et quand tu le décides, tu stoppes le timer (clearTimeout)
0
massacr Messages postés 233 Date d'inscription vendredi 2 juillet 2004 Statut Membre Dernière intervention 4 janvier 2007
4 sept. 2004 à 13:38
Merci.

Mais je suis encore débutant, pouvez vous me modifier mon script en mettant l'affichage 3 fois par exemple ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
massacr Messages postés 233 Date d'inscription vendredi 2 juillet 2004 Statut Membre Dernière intervention 4 janvier 2007
4 sept. 2004 à 18:54
Super, merci
0
Rejoignez-nous