Laadpuntjes IV

Moeten wachten op je PC omdat die bezig is met een download of iets anders wat lang duurt, is niet prettig. Het is dan fijn als er toch iets op het scherm gebeurt dat de voortgang van de actie aangeeft. Laadpuntjes zijn hier een goed middel voor. Hiernaast zie je een mogelijke uitvoering.
Ververs de pagina / het frame om het effect nog een keer te zien.

Deze laadpuntjes komen het meest tot hun recht als de wachttijd kort is. Denk bijvoorbeeld aan het ophalen van een grote afbeelding uit een bibliotheek.

Inspiratie voor het onderwerp van deze pagina is ontstaan door de website kerkdienstgemist.nl. Daarin zijn (soms) laadpuntjes te zien. Iets wat er op lijkt heb ik nagebouwd in HTML, CSS en JavaScript.

De code kun je downloaden om zelf te gebruiken en/of om zelf aan door te ontwikkelen.

Gebruik:

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

<style>
.laadpuntjes {
  position: relative;
  float: right;
  margin-left: 20px;
  height: 40px;
  width: 125px;
}
.puntjes .stipjes {
  list-style-type:none;
}
.stipjes li {
  display:inline-block;
  border: 5px solid #d00;
  border-radius: 50%;
  box-sizing: border-box;
}
.puntjes li {
  display:inline-block;
  border: 5px solid blue;
  border-radius: 50%;
  box-sizing: border-box;
}
#P1, #P2, #P3 {
  position:absolute;
  top: 15px;
  opacity: .8;
  z-index: 1;
  transition: all 5s ease;
}
#Q1, #Q2, #Q3 {
  position:absolute;
  top: 15px;
  opacity: .8;
  transition: all 7s ease;
}
#P1 { left: 15px }
#P2 { left: 50px }
#P3 { left: 85px }
#Q1 { left: 15px }
#Q2 { left: 50px }
#Q3 { left: 85px }
</style>
<script>
var aantal = 3, wijzer = 0, aa, bb, groei;
function groeiPuntje() {
  wijzer++;
  aa = document.getElementById('P'+wijzer);
  aa.style.top = 0;
  bb = document.getElementById('Q'+wijzer);
  switch(wijzer) {
    case 1: aa.style.left = "5px";  bb.style.left = "20px"; break;
    case 2: aa.style.left = "45px"; bb.style.left = "65px"; break;
    case 3: aa.style.left = "85px"; bb.style.left = "110px"; break;
  }
  aa.style.borderWidth = "20px";
  aa.style.opacity = 0;
  if (wijzer == aantal) stopNu();
  return;
}
function doeHet() {
  groei = setInterval('groeiPuntje()',1000);
  return;
}
function stopNu() {
  clearInterval(groei);
  for (var i = 1; i <= aantal; i++)
    document.getElementById('Q'+i).style.opacity = 0;
  return;
}
window.onload = doeHet;
</script>

(Zet dit in de <BODY> op de plaats waar het effect moet verschijnen).

<div class="laadpuntjes">
  <ul class="puntjes">
    <li id="P1"></li>
    <li id="P2"></li>
    <li id="P3"></li>
  </ul>
  <ul class="stipjes">
    <li id="Q1"></li>
    <li id="Q2"></li>
    <li id="Q3"></li>
  </ul>
</div>

Downloaden:
 
Druk op de knop: Download deze code  File: voorb625.zip, 855 bytes.

 
terug

html-625; Laatste wijziging: 27 februari 2021