Text area [Résolu]

Messages postés
233
Date d'inscription
vendredi 2 juillet 2004
Statut
Membre
Dernière intervention
4 janvier 2007
- - Dernière réponse : 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>
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
290
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
25 avril 2008
3
Merci
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> 

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 200 internautes nous ont dit merci ce mois-ci

Commenter la réponse de rttb
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
26
0
Merci
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]]
Commenter la réponse de cs_bultez
Messages postés
290
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
25 avril 2008
0
Merci
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)
Commenter la réponse de rttb
Messages postés
233
Date d'inscription
vendredi 2 juillet 2004
Statut
Membre
Dernière intervention
4 janvier 2007
0
Merci
Merci.

Mais je suis encore débutant, pouvez vous me modifier mon script en mettant l'affichage 3 fois par exemple ?
Commenter la réponse de massacr
Messages postés
233
Date d'inscription
vendredi 2 juillet 2004
Statut
Membre
Dernière intervention
4 janvier 2007
0
Merci
Super, merci
Commenter la réponse de massacr