antsite a écrit :
setTimeout(), et je vois pas comment ça scroll ton code (horrible au passage, getElementById, balises en miniscules, tu connais ?)
|
Non justement je connais pas, ça apporte quoi
Sinon bah ça scroll pas vraiment mais ça donne une impression de scroll ( si si ! ) et le seul moyen que j'ai trouvé pour le faire fonctionner c'est de cliquer sur un bouton pour faire défiler la chaine caractère par caractère.
Le
je l'ai essayé mais soit je l'ai mal utilisé soit ça fait pas ce que je cherche.
Comment l'utiliser pour répéter une action toutes les x millisecondes ?
EDIT: C'est bon j'ai trouvé une solution, effectivement utiliser setTimeout() mais il faut l'associer à clearTimeout():
Pour ceux que ça interesse :
<HTML>
<BODY BGCOLOR="#000000" TEXT="#FFFFFF"><center>
<font face="arial" size="6">SCROLLER</FONT><BR>
<font face="arial" size="2">
<FORM NAME="TEXTE">
<INPUT TYPE="BUTTON" NAME="AFF" VALUE="START SCROLL" onclick="go();"><INPUT TYPE="TEXT" SIZE="30" NAME="PHRASE" VALUE="Coucou !!">
<INPUT TYPE="BUTTON" NAME="STP" VALUE="STOP SCROLL" onclick="stop_ca();"><BR>
Vitesse :
<INPUT TYPE="BUTTON" NAME="INC" VALUE="+" onclick="javascript:increment();">
<INPUT TYPE="TEXT" NAME="VIT" VALUE="150" size="3">
<INPUT TYPE="BUTTON" NAME="DEC" VALUE="-" onclick="javascript:decrement();">
</FORM>
</font>
<script language="javascript">
function increment()
{
if(eval(document.TEXTE.elements.VIT.value) > 25)
{
document.TEXTE.elements.VIT.value=eval(document.TEXTE.elements.VIT.value)-25;}
}
function decrement()
{
if(eval(document.TEXTE.elements.VIT.value) < 500)
{
document.TEXTE.elements.VIT.value=eval(document.TEXTE.elements.VIT.value)+25;}
} function scroll()
{
chaine=document.TEXTE.elements.PHRASE.value;
premchar=chaine.charAt(0);
chaine=chaine.substring(1,longueur)+premchar;
document.TEXTE.elements.PHRASE.value=chaine;
a = setTimeout("scroll()",eval(document.TEXTE.elements.VIT.value));
}
function go()
{
document.TEXTE.elements.PHRASE.value=(document.TEXTE.elements.PHRASE.value+" " );
longueur=eval(document.TEXTE.elements.PHRASE.value.length);
var a;
setTimeout("scroll()",eval(document.TEXTE.elements.VIT.value));
}
function stop_ca()
{
window.clearTimeout(a);
}
</script>
</BODY>
</HTML> |
testé sous IE uniquement, c'est crade mais ça marche.
Merci Antsite pour ton aide.
Message édité par sebkom le 21-01-2004 à 22:44:52