Sticker-overlay op de pagina

Webmaster

Over deze pagina ligt een 'sticker' die een deel van de tekst onleesbaar maakt. Als je scrollt verdwijnt de sticker. Dit kan worden gebruikt om een belangrijke melding op het scherm te zetten.

Op deze pagina wordt uitgelegd hoe je zoiets maakt. De code kun je downloaden om zelf te gebruiken.

Inspiratie voor dit verhaal is gekomen door een artikel in Webdesigner Magazine 95 (mei 2017), pag. 56 en 57.
Dit blad wordt sinds eind november 2017 niet meer gemaakt.
Code wordt in het artikel niet getoond, daarom heb ik het voorbeeld van scratch af opnieuw gebouwd.
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>).

<style>
.sticker {
  width: 100%;
  height: 100px;
  position:fixed;
  top:100px;
  left:0;
  text-align:center;
  padding-top:100px;
  z-index:100;
  opacity:1;
}
.sticker img {
  height:98px;
  width:107px;
  border:0;
  transform: scale(4);
  transform-origin: 50% 0;
}
.shrunk {
  display:block;
  transform: scale(1);
  opacity: 1;
  animation: shrink 1.5s linear forwards;
}
.shrunk:after {
  display:none;
}
@keyframes shrink {
    0% { transform: scale(1);  opacity:1; }
  50% { transform: scale(.5); opacity:1; }
  100% { transform: scale(0);  opacity:0; }
}
</style>
<script>
var nItems, i;
var mItems = new Array();

window.addEventListener('load', function() {
  mItems = document.getElementsByClassName('sticker');
  nItems = mItems.length;
  window.addEventListener('scroll', invokeScroll);
})
function invokeScroll() {
  for (i=0; i<nItems; i++){
    mItems[i].classList.add('shrunk');
  }
  resetScroll();
}
function resetScroll() {
  // Als er 1 x is gescrolled moet de eventListener weg!
  window.removeEventListener('scroll', invokeScroll );
}
</script>

(Zet dit ergens in de <BODY>, bijvoorbeeld aan het begin).

<div class="sticker">
  <img src="webmas-2.gif" title="Sticker; scroll om te verwijderen"
    alt="Webmaster">
</div>

Downloaden:
 
Druk op de knop: Download deze code  File: voorb572.zip, 5273 bytes.

 
terug

html-572; Laatste wijziging: 30 mei 2020