© ilj ilj@flowsim.se
JavaScript på svenska 8
JavaScript setTimeout()

 

klicka här
för att skriva flowsim
i textrutan



kod & förklaringar längre ner

pil som pekar nedåt
 


 
Placera en textruta mellan FORM-taggar och namnge den. I exemplet har formen fått namnet skrivform och textrutan namnet skriv.
 
Allt om hur man skapar formulär med textrutor och knappar finns under HTML.

 
Så här ser resten av koden ut (man kan förstås starta det hela med olika eventHandlers):
 
<A HREF = "javascript:checkstart()" >skriv flowsim i textrutan</A>
 
Länktaggen kan också skrivas t ex så här:
 
<A HREF = "#"
    onClick="
checkstart();return false">skriv flowsim i textrutan</A>
 
En klickning på länken anropar funktionen
checkstart(), som placeras mellan SCRIPT-taggar i HEAD-delen (se JavaScript/ MINIMANUAL 1 lite grunder)

startad=0
function checkstart() //1
{
    if(startad==0) //2
    {
    startad=1 //3
    iljtext1() //4
    }
}
i = 0
j = 0
function iljtext1()
{

    texten = "flowsim flowsim"
    document.skrivform5.skriv6.value =texten.substring(0,i) + "|"
    iljtimer = setTimeout("iljtext1()",250) //7
    i++
    if(i==texten.length+2) //8
    {
    document.skrivform5.skriv6.value = " " //9
    i=0
    j=j+1 //10
    }
    if(j==50) //11
    {
    clearTimeout(iljtimer) //12
    j=0
    startad=0
    }
}

Glöm inte att ta bort alla fotnoter!
Här följer förklaringarna till dem:
 
1
checkstart() kollar om timern redan startats; om inte, dvs om ...
 
2
startad är lika med 0 så..
 
3 sätts
startad till 1 och ...
 
4 funktionen
iljtext1() anropas
 
5 formens namn
 
6 textrutans namn
 
7
iljtext1() anropar sig själv med ett intervall av 250/1000 sekunder
 
8 när
i antagit värdet av textens längd plus 2 så...
 
9 börjar skrivandet om från början. Om man vill att texten skall visas en stund när den väl har skrivits kan man ändra siffran efter plustecknet
 
10
j räknas upp med 1 varje gång skrivandet börjar om från början och ...
 
11 när
j är lika med 50 så ...
 
12 stoppas timern och
j och startad sätts till 0 igen, vilket betyder att man kan starta timerfunktionen igen genom att klicka på länken.
 
<div id ='namnet'>lager</div>
I nyare webbläsare kan man skriva på ett lager. Placera ut en DIV-yta (svart i exemplet) och ge den ett namn efter ID, t.ex 'namnet'. I koden ovan lägger man till följande två rader:
documnet.getElementById('namnet').innerHTML=texten.substring(0,i) + "|"
(...)
documnet.getElementById('namnet').innerHTML=" "

 
Om formulär, textrutor och sånt se
HTML: forms/e-postformulär
HTML

 
en linje
Sidan gjordes av
 
ilj
 
ilj@flowsim.se
 

 
Senast ändrad 1 april 2004.
 
Den här sidan hör hemma i ett ramsystem hos
www.flowsim.se