Gå til innhold

javascript og verdier


Anbefalte innlegg

JAVASCRIPT

function b(){

wait(2000);

document.getElementById("knapp").value="hihi";

wait(2000);

document.getElementById("knapp").value="haha";

}

 

HTML

<input type="button" id="knapp" value="hallo" onclick=b()>

 

"hihi"-verdien vises ikke her. Den venter 4 sek på å vise "haha".

Hvordan skrive det annerledes?

Lenke til kommentar
Videoannonse
Annonse

<html>
<head>
	<script type="text/javascript">
		function noe() {
			setTimeout( function() {
				document.getElementById( 'knapp' ).value = 'hihi';
			}, 2000 );
			setTimeout( function() {
				document.getElementById( 'knapp' ).value = 'fisk';
			}, 4000 );
		}
	</script>
</head>
<body>
	<input type="button" id="knapp" value="hallo" onclick="noe();">
</body>
</html>

 

Her er dagens tips: Alltid gjør webutvikling i Firefox med Firebug extension. Alt annet er bortkastet tid.

Endret av JohndoeMAKT
Lenke til kommentar

function wait(msecs){

var start = new Date().getTime();

var cur = start

while(cur - start < msecs){

cur = new Date().getTime();

}

}

 

Kom på at jeg glemte å ta med denne gitt.

 

 

 

Ok. Jeg regnet med at "wait" var en gammel IE-feature siden jeg ikke fant den i oppslagsverket jeg har her i nettleseren.
Lenke til kommentar

Til det har jeg bare NEI å si. :)

 

For det første vil IE avbryte scriptet etter 100 000 funksjonskall (eller noe slikt) og FF/Opera avbryte scriptet etter så og så mange sekunder og for det andre blir alt Javascript utført i én tråd som gjør at mens den saken kjøres vil alle andre script på siden ha vanskeligheter med å få CPU-tid.

 

setTimeout fortsetter tråden med én gang og setter opp en asynkront kall til funksjonen du gir med som parameter.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...