Figuren met een glitch-effect II: Lokaal effect

Hiernaast zie je een foto. Als je er met de muis overheen gaat zie je een effect dat lijkt op de storingen die je vroeger wel had op een oude (analoge) TV, als er een brommer of auto voorbij reed.
Dit soort verstoringen wordt aangeduid met de term glitch, wat verstoring betekent.

Dit effect is een variant van een versie waar de hele foto wordt verstoord, in plaats van een klein stukje.

De code van het voorbeeld kun je downloaden om zelf te gebruiken, inclusief het plaatje.

Gebruik:

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

<style>
#deFoto {
  position:relative;
  margin:20% auto;
  width:250px;
  height:187px;
  cursor:help;
  float:right;
  margin:0 10px 10px 30px;
}
#deFoto span {
  position:absolute;
  display:block;
  background-image:url(stapeltje_5.jpg);
  background-repeat:no-repeat;
  overflow:hidden;
  width:100%;
}
</style>

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

<div id="deFoto">
  <span style="height:187px"></span>
  <span style="height:2px; top:65px;
      background-position: 0px -65px;"></span>
  <span style="height:2px; top:67px;
      background-position: 0px -67px;"></span>
  <span style="height:2px; top:69px;
      background-position: 0px -69px;"></span>
      .
      Voor elke stap van 2px een regel code.
      .
  <span style="height:2px; top:81px;
      background-position: 0px -81px;"></span>
</div>

(Zet dit in de <BODY>, na de code van de foto).

<script>
document.getElementById("deFoto").onmouseover = function() {
  var spans = document.getElementsByTagName('span');
  var left = true, j = 1;

  for (var i = 1; i < spans.length; i++) {
    k = 3*j;
    if (left) {
      spans[i].style.left = -k + "px";
    } else {
      spans[i].style.left = k + "px";
    }
    j++;
    if (j > 5) j=1;
  left=!left;
  }
};

document.getElementById("deFoto").onmouseout = function() {
  var spans = document.getElementsByTagName('span');
  for (var i = 0; i < spans.length; i++) {
    spans[i].style.left = "0";
  }
}
</script>

Downloaden:
 
Druk op de knop: Download deze code  File: voorb462.zip, 7571 bytes.

 
terug

html-462; Laatste wijziging: 25 mei 2020