Voortgangsindicator II: Molentje in popup

JavaScript is niet bedoeld om grote, ingewikkelde berekeningen uit te voeren. Als je het toch probeert zul je vaak lang moeten wachten op het resultaat. Ook kan je PC erg traag worden.
In dergelijke gevallen is het handig als je op het scherm kunt zien dat er voortgang wordt geboekt bij de berekeningen en dat de PC of de browser -dus- niet hangt of zo. Het voorkomt ook dat de browser een melding geeft dat een script niet reageert omdat er geen interactie met het scherm is.

Voorbeeld:
Op deze website vind je een beschrijving van een priemgetallen zeef. Die is redelijk snel, zolang je er niet te veel van vraagt. Maar als je bijvoorbeeld 7500 priemgetallen wilt laten berekenen, is je PC even bezig...
Voor de rekenaars onder ons: het 7500e priemgetal is 76 207.

Op deze plaats wordt een script voorgesteld dat voor een permanente beweging op het scherm zorgt zolang het script loopt: een molentje. Het idee en de toepassing van dit molentje stamt uit eind jaren '80 - begin jaren '90 van de vorige eeuw, toen PC's nog vrijwel uitsluitend onder MS-DOS draaiden. Dit is een gemoderniseerde versie.

Het molentje verschijnt in een popup-je. Klik op de knop Voorbeeld. Het molentje verschijnt en draait. Als je daarna nog een keer op de knop klikt gaat het molentje de andere kant op draaien.
Als het rekenproces proces gereed is, moet de molen stoppen, maar wel zichtbaar blijven zodat de gebruiker kan zien dat zijn sommen klaar zijn. De tekst verandert (Klik op de knop Gereed...)
Als je op Stop klik stopt de molen (als die nog draait) en verdwijnt.

       

De code kun je downloaden om zelf te gebruiken.

Opmerking:
 
Hoewel deze code op zich vrij eenvoudig is, raad ik het beginnende programmeurs af om dit te gebruiken. De toepassing er van is namelijk vrij lastig. Feitelijk is het pure overhead; de voortgang van het rekenproces wordt steeds even onderbroken om het scherm bij te werken. Je moet daarom heel goed weten waar en wannéér je het rekenproces moet / kunt onderbreken.
Gebruik het dus alleen als je er echt een zinvolle toepassing voor hebt.

Gebruik:

De code ziet er als volgt uit:
 
(Zet dit in de <HEAD>).

<script src="pimolen2.js"></script>
(Zet dit in de <BODY>, op de plaats waar je het nodig hebt).
<div id="MolenPopup" style="visibility:hidden; position:absolute;">
<table border="0" cellspacing="0" cellpadding="1"><tr>
<td id="MolenTekst" width="90" style="text-align:center; font-weight:bold; background-color:#ffd700; color:#000000; border: thin solid navy;">
&nbsp;</td></tr><tr>
<td id="Molen" height="45" style="text-align:center; font-size:16pt; font-weight:bold; background-color:#ffdacd; color:#800000; border: thin solid navy;">
&nbsp;</td></tr></table></div>
(Voeg code toe in de <HEAD> en/of de <BODY> waar je hem nodig hebt, zoals hierboven is beschreven).

Downloaden:
 
Druk op de knop: Download deze code  File: voorb175.zip, 1314 bytes.

Opmerking:
 
Nogmaals: gebruik dit alleen als je weet wat je doet! Cool!
 
Elders op deze site staat een vergelijkbaar molentje, dat echter wordt getoond in de pagina. Hoewel dat ook niet echt eenvoudig in het gebruik is, is het toch een stuk eenvoudiger dan deze versie. Zie het item "Voortgangsindicator I: Molentje in tekst".
 
Een 'mooiere' versie van het script om popups te maken vind je in het item Lokale Popup in een DIV-tag II: mouseclick.

 
terug

html-175; Laatste wijziging: 13 mei 2020