Wiebelende koppen

Hieronder zie je een tekstkopje dat nogal wiebelig is. Zo'n kop staat leuk op een vrolijke, informele website, zeker als je ook nog een grappig font gebruikt.
Op deze bladzijde staat aangegeven hoe je zoiets kunt maken voor je eigen website.

Nieuw Evenement!

Dit effect heb ik voor het eerst gezien op een site voor basisschool-leerlingen, waar ze van alles konden doen in het kader van een nationaal onderwijs-project. Die site is bij mijn weten al lang weer verdwenen, maar het effect is te leuk om te worden vergeten. Voor deze website heb ik de code wat toegankelijker gemaakt, waardoor die eenvoudiger is toe te passen in een website.
De code kun je downloaden om zelf te gebruiken.

Gebruik:

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

<link href="https://fonts.googleapis.com/css?family=Shojumaru"
  rel="stylesheet">
<script src=
  "https://cdnjs.cloudflare.com/ajax/libs/gsap/1.18.1/TweenMax.min.js">
</script>
 
<style>
.titel { /*Dit is nodig voor het effect*/
  font-family: 'Shojumaru', cursive;
  color: navy;
  font-size: 40px;
  font-weight: normal;
  text-align:center;
}
</style>
 
<script>
var chars = [];
// 1. Splits de tekst van de kop met class 'títel'
function splitsTekst() {
  var titel = document.querySelector('.titel');
  var splitText = titel.textContent.split('');
 
  // Sla de lijst met losse letters op in de array chars
  titel.textContent = '';
  var karakter;
  for(var i=0, len = splitText.length; i<len; i++) {
    karakter = document.createElement('span');
    karakter.textContent = splitText[i];
    karakter.style.display = 'inline-block';

    chars.push(karakter);
    titel.appendChild(karakter);
  }
}
 
// 2. Maak de tijdlijn voor het wiebel-effect.
// De tijdlijn wordt afgespeeld totdat de pagina wordt verlaten
// Willekeurige standen van de letters worden in een object gezet
// Gebruik 'cycle' om elke letter in een random stand te zetten
function wiebelTekst() {
  var tijdlijn = new TimelineMax({repeat:-1, yoyo:true});
  for(var j=0; j < 10; j++) {
    tijdlijn.staggerTo(chars, 0.5, {
      cycle: {
        x: function() { return Math.random()*4 - 2; },
        y: function() { return Math.random()*4 - 2; },
        rotation: function() { return Math.random()*10 - 5; }
      },
      ease: Linear.easeNone
    }, 0);
  }
}
</script>

(Zet dit in de <BODY>, op de plaats waar de wiebelende kop moet verschijnen).

<h1 class="titel">Nieuw&nbsp;Evenement!</h1>
<script>
splitsTekst();  // Splits de tekst in losse letters
wiebelTekst();  // Laat de tekst wiebelen
</script>

Downloaden:
 
Druk op de knop: Download deze code  File: voorb005.zip, 1085 bytes.

Opmerking:
 
Ook hier geldt: Wees voorzichtig met de toepassing. Te veel beweging maakt het beeld onrustig. Daardoor zullen de bezoekers eerder geneigd zijn weg te gaan.

 
terug

html-005; Laatste wijziging: 15 april 2020