[JavaScript] Pause functie

Pagina: 1
Acties:
  • 127 views sinds 30-01-2008
  • Reageer

  • palloquin
  • Registratie: Juli 2000
  • Laatst online: 29-01-2021
Ik ben opzoek naar een manier om een pauze in te bouwen in een javascript functie.

Ik kan natuurlijk een while loop in gaan tot een aantal mSec zijn verstreken, maar dat lost mijn probleem net niet op..

Zo'n loop laat geen ruimte (lees CPU tijd) voor andere taken binnen de browser. Ik heb juist een fractie rust nodig zodat een div gerenderd word voordat een stuk code wordt uit gevoerd...

Ideeen?

Oh ja, er is al een topic over ([rml][ javascript] 1 sec pauzeren[/rml]) maar dat gaat niet verder dan via een setTimeout een functie laten aanroepen, dat is helaas geen pauze..

  • Yoozer
  • Registratie: Februari 2001
  • Laatst online: 20-01 22:02

Yoozer

minimoog

teveel zooi, te weinig tijd


  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 30-08 20:35

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Ge-wel-dig Yoozer :P
Oh ja, er is al een topic over ([javascript] 1 sec pauzeren) maar dat gaat niet verder dan via een setTimeout een functie laten aanroepen, dat is helaas geen pauze..
http://www.the-cool-place...ndpaste/cutandpaste5.html
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<HTML>
<head>
<script>
<!--
function wait(delay){
string="pauseforalert("+delay+");";
setTimeout(string,delay);
}
function pauseforalert(delay){
alert("Ok "+delay/1000+" seconds have elapsed");
}
// -->
</script>
</HEAD>
<BODY>
<a href="javascript:void()" onClick="wait(1000);">click here and wait 1 sec</a><BR>
or<BR>
<a href="javascript:wait(2000)">click here and wait 2 secs</a><BR>

</BODY>
</HTML>
Voor de starter: misschien dat je wat aan het object complete hebt? (document.images['imgnaam'].complete levert true wanneer het plaatje volledig geladen is, misschien werkt dat ook met divs?)

oh ja, wat is er mis met de onload van de bodytag?

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 14:06

crisp

Devver

Pixelated

Ik denk dat ik wel begrijp wat topicstarter bedoelt; probeer bijvoorbeeld deze functie eens uit in een pagina met een lege div genaamd 'tellertje':
JavaScript:
1
2
3
4
5
6
7
8
9
function optellen() {

  for (var t = 0; t <= 1000; t++) {

    document.getElementById('tellertje').innerHTML = t;

  }

}

Wat zie je dan? de browser wacht even en zet 1000 in de div; je ziet hem niet eventjes razendsnel optellen. De browser wacht gewoon tot het script klaar is en schrijft dan pas het uiteindelijke resultaat naar de document tree.
Helaas is in javascript de enige manier om dit te omzeilen het gebruik maken van een timeout; je zult dus je code in stukken moeten opbreken hiervoor...

Intentionally left blank


  • palloquin
  • Registratie: Juli 2000
  • Laatst online: 29-01-2021
Daar was ik dus inderdaad al bang voor... Wordt hoog tijd dat er voor javascript (of VBscript als het niet anders kan) een DoEvents functie komt zoals VB wel kent..

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 14:06

crisp

Devver

Pixelated

palloquin schreef op 12 oktober 2002 @ 00:40:
Daar was ik dus inderdaad al bang voor... Wordt hoog tijd dat er voor javascript (of VBscript als het niet anders kan) een DoEvents functie komt zoals VB wel kent..
Zo moeilijk is het nu ook niet om er omheen te proggen hoor; als je er maar van tevoren rekening mee houdt...

Intentionally left blank


  • palloquin
  • Registratie: Juli 2000
  • Laatst online: 29-01-2021
Hmm... het valt in dit geval helaas niet mee... ik roep recursief functies aan... als ik die aan setTimeouts moet gaan hangen alleen om een tijdelijk kopje te kunnen rederen wordt ik niet heel blij

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 14:06

crisp

Devver

Pixelated

palloquin schreef op 12 oktober 2002 @ 01:23:
Hmm... het valt in dit geval helaas niet mee... ik roep recursief functies aan... als ik die aan setTimeouts moet gaan hangen alleen om een tijdelijk kopje te kunnen rederen wordt ik niet heel blij
Dat zeg ik: als je er maar van tevoren rekening mee houdt ;)

Intentionally left blank


  • palloquin
  • Registratie: Juli 2000
  • Laatst online: 29-01-2021
Laten we daar nou eens niet uitgebreid over gaan praten ;)
Pagina: 1