Beklager. hvis du vil have det som et funktionskald hvor funktionen først returnerer efter xxx millisekunder vil det nødvendigvis blive et \"busy wait\" program der optager næsten al browserens cpu tid.
function busyWait( millisecs ); var nu = new Date(); sluttid = nu.valueOf() + millisecs; for ( ; ; ) { var da = new Date(); if ( da.valueOf() >= sluttid ) break; }; }; //end bysyWait( number );
Dt virker, men jeg tvivler på du vil bryde dig om det. Og efter en tid kommer IE og spørger \"Hit javascript kører grumme længe, sku vi ikke stoppe det?\" :-)
Du konner til at skrive dit script om så den process der skal indeholde et vent deles op i to. Så er det nemt at bruge setTimeout(...) til at få startet anden sektion en vis tid efter den første.
Hej JakobA: Det er det samme resultat jeg er kommet til.. Men den sløver systemet alt for meget, jeg vil have den til at være IDLE, altså bruge så lidt cpu som muligt, samt overholde ovenstående specs ;) Men mange tak for svaret ;)
Det kan sågar være jeg tager fejl :-)). der er jo fx scrollBy funktionen
Hvis du kører følgende funktion i et vindue med scroll:
var stop = false; // sættes true for at få funktionen til at returnere
function ventEnTid( ) { while ( !stop ) { scrollBy( 0, 5 ); scrollBy( 0,-5 ); // nr 2 kald afventer skærmrefresh }; }; //end ventEnTid( )
kan det godt være du får den ikke-busy vent vi ønsker. Det er vigtigt at vinduer virkelig kan scrolle de 5 pixel op og ned. evt med ensfarvet baggrund for det er ulækker at kikke på sådan noget rysteri.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.