Foto-carrousel met tijdlijn

Het maken van een mooie presentatie vraagt soms een creatieve aanpak. Zo'n aanpak vond ik in een bespreking van de site waar het Museum Boijmans Van Beuningen de collectie toont. Die bespreking stond in Webdesigner Magazine nr. 91 (nov. 2016), pag. 52 e.v. De vermoedelijke auteur is Mark Shufflebottom.
N.B.: Webdesigner Magazine wordt sinds eind november 2017 niet meer gemaakt.

Op de site van Boijmans Van Beuningen zie je een foto-carrousel, die is uitgerust met een tijdlijn. Op deze pagina wordt iets vergelijkbaars besproken. De code van het voorbeeld is beschikbaar om te downloaden, maar zonder de foto's.

We beginnen met het voorbeeld, dat opent in een nieuw venster of tabblad. De foto-carrousel bestaat uit zeven verschillende foto's die allemaal zijn gemaakt op 15 oktober 2014. Op de tijdlijn zie je het tijdstip staan waarop de foto is gemaakt.
De foto's schuiven niet maar de foto 'springt' uit het scherm en de volgende foto 'valt' er in. De carrousel loopt uit zichzelf, maar je kunt ook bladeren met de knoppen << en >>. De carrousel loopt oneindig door.

De tijdlijn is niet beschikbaar op Android-apparaten.

Toon het voorbeeld

Dit is bijzonder geschikt voor een titelpagina (zoals bij Boijmans Van Beuningen) of als een zelfstandig draaiende presentatie (zoals op deze site).

Gebruik:

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

<link href="owl.carousel.css" rel="stylesheet">
<link href="owl.transitions.css" rel="stylesheet">
<link href="owl.theme.css" rel="stylesheet">
<link href="styles.css" rel="stylesheet">
<script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="owl.carousel.min.js"></script>

(Zet dit in de <BODY>).

div class="container">
  <div id="sync1" class="owl-carousel">
    <div class="item"><img src="foto1.jpg"></div>
    <div class="item"><img src="foto2.jpg"></div>
    <div class="item"><img src="foto3.jpg"></div>
    <div class="item"><img src="foto4.jpg"></div>
    <div class="item"><img src="foto5.jpg"></div>
    <div class="item"><img src="foto6.jpg"></div>
    <div class="item"><img src="foto7.jpg"></div>
  </div>
 
  <div id="sync2">
    <div class="item"><h1 id="pos1">1</h1></div>
    <div class="item"><h1 id="pos2">2</h1></div>
    <div class="item"><h1 id="pos3">3</h1></div>
    <div class="item"><h1 id="pos4">4</h1></div>
    <div class="item"><h1 id="pos5">5</h1></div>
  </div>
</div>
<script>
$(document).ready(function () {
  var sync1 = $("#sync1");
  var pos1 = $("#pos1");
  var pos2 = $("#pos2");
  var pos3 = $("#pos3");
  var pos4 = $("#pos4");
  var pos5 = $("#pos5");

  var dates = ["10:47", "10:48", "10:49",
                "11:07", "11:10", "11:18", "11:26"];
 
  sync1.owlCarousel ({
    singleItem: true,
    slideSpeed: 1000,
    navigation: true,
    pagination: false,
    afterAction: syncPosition,
    responsiveRefreshRate: 200,
    rewindSpeed: 0,
    autoPlay: true,
    transitionStyle: "fadeUp",
    navigationText: ["&lt;&lt;", "&gt;&gt;"]
  });
 
  sync1.trigger("owl.jumpTo", 0);

  function syncPosition(el) {
    var a, b, c = this.currentItem, d, e;
 
    if (c == 0) {
      a = dates.length - 2;
      b = dates.length - 1;
    }
    if (c == 1) {
      a = dates.length - 1;
      b = c - 1;
    }
    d = c + 1;
    e = c + 2;
 
    if (c > 1) {
      a = c - 2;
      b = c - 1;
      d = c + 1;
      e = c + 2;
      if (c == dates.length - 2) {
        d = dates.length - 1;
        e = 0;
      }
      if (c == dates.length - 1) {
        d = 0;
        e = 1;
      }
 
    }
    pos1.text(dates[a]);
    pos2.text(dates[b]);
    pos3.text(dates[c]);
    pos4.text(dates[d]);
    pos5.text(dates[e]);
  }
});
</script>

Downloaden:
 
Druk op de knop: Download deze code  File: voorb548.zip, 1760 bytes.

Opmerking:
 
Als je dit met voorbeeld aan de slag wilt zoals het op deze pagina wordt gebruikt, dan kan dat. Stuur gewoon even een mailtje, dan stuur ik de Owl-Carousel bestanden naar je op.

 
terug

html-548; Laatste wijziging: 6 juli 2022