Scrollen met in- en uitzoomeffect

Hieronder zie je een foto met daarnaast een scrollbalk. Als je de scrollbalk gebruikt om te scrollen schuift de foto naar boven om andere foto's te laten zien. Dat gaat gepaard met een leuk zoomeffect.
Op mobiele apparaten met Android is de schuifbalk niet zichtbaar. Daar kun je alleen door de foto's scrollen.

Scrollen doe je met de grip in de scrollbar of met het muis-wieltje. Het zoomeffect is er alleen als de linker muisknop wordt ingedrukt.

Op deze pagina wordt beschreven hoe je zoiets maakt. De code kun je downloaden om zelf te gebruiken, echter zonder de foto's.

Gebruik:

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

<link rel="stylesheet" media="screen" href="styles.css">
<script
    src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
</script>   
<script>
var scrollNode;
 
window.addEventListener("load",function(){
  $.each( $("[data-scrollsnap]"), function(){
    $(this).on("mousedown",function(){
      scrollNode = this;
      $(this).addClass("scrolling");
    });
  });
 
  $(window).on("mouseup",function(){
    $(scrollNode).removeClass("scrolling");
    var height = $(scrollNode).height();
    var position = $(scrollNode).scrollTop();
    var scrollRatio = position / height;
    var yScroll = Math.floor(0.3+scrollRatio)*height;
    $(scrollNode).scrollTop( yScroll );
  });
});
</script>

(Zet dit in de <BODY> op de plaats waar de scrollende foto's moeten verschijnen.).

<article data-scrollsnap="groep1">
  <a style="background-image:url(foto-1.jpg)"></a>
  <a style="background-image:url(foto-2.jpg)"></a>
  <a style="background-image:url(foto-3.jpg)"></a>
  <a style="background-image:url(foto-4.jpg)"></a>
  <a style="background-image:url(foto-5.jpg)"></a>
</article>

Downloaden:
 
Druk op de knop: Download deze code  File: voorb528.zip, 907 bytes.

Opmerking:
 
Het originele script bevat ook CSS voor het opmaken van de scrollbar naast de foto. Dat is hier niet meegenomen omdat de ondersteuning door de grote browsers te weinig is.

 
terug

html-528; Laatste wijziging: 27 mei 2020