Draaiende pagina-overgangen

De techniek die hier wordt besproken is bij uitstek geschikt voor een één-pagina site. Dat is een (meestal) kleine website, die één onderwerp behandelt. Dit soort sites wordt vaak ingezet om kortdurende evenementen te promoten of om iets te presenteren. Soms bevat zo'n site spectaculaire animaties, soms zijn ze heel eenvoudig.
Door elk paneel als menu te gebruiken kun je het ook inzetten voor een meer complexe website.

Op deze bladzijde wordt zo'n één-pagina site uitgebreid besproken. De code van het voorbeeld kun je downloaden om zelf te gebruiken, echter zonder de foto's.

We beginnen met het voorbeeld, dat opent in een nieuw venster of tabblad. Navigeer door op de knoppen << en >> te klikken.

Toon het voorbeeld

Dit is een vrije bewerking van een script dat ik aantrof in Webdesigner Magazine nr. 90 (oktober 2016), pag. 14 e.v., dat op zijn beurt weer is ontleend aan de site van Renate Rechner, een organistatie-psycholoog uit Oostenrijk.
Het blad Webdesigner Magazine wordt sinds eind november 2017 niet meer gemaakt.
Het oorspronkelijke script is niet meer beschikbaar op internet. De maker van het script is niet bij het betreffende artikel genoemd.

Voor deze website is het voorbeeld verfraaid en is de code wat vereenvoudigd. Een onvolkomenheid is gerepareerd.

Gebruik:

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

<link rel="stylesheet"href="styles.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
</script>
<script>
var href = {"data":[], "index":0};
 
var actions = {};
actions.next = function(){
  if(href.index < href.data.length-1)href.index++;
  window.location = href.data[ href.index ];
}
actions.back = function(){
  if(href.index > 0)href.index--;
  window.location = href.data[ href.index ];
}
 
window.addEventListener("load",function() {
  $.each($('article[id]'),function() {
    var rect = this.getBoundingClientRect();
    href.data.push("#"+$(this).attr("id"));
  });
  $("#next").on("click",actions.next );
  $("#back").on("click",actions.back );
});
</script>

(Structuur van de HTML-code in de <BODY>).

<span id="back">&lt;&lt;</span>
<span id="next">&gt;&gt;</span>

<article id="page1">
  <section>
    <h1>Over dit album</h1>
    <div style="float:right">
      <img src="foto1.jpg" alt="Molen" width="100">
      <img src="foto2.jpg" alt="Paddenstoel" width="100">
      <img src="foto3.jpg" alt="Park" width="100">
      <img src="foto4.jpg" alt="Roos" width="100">
    </div>
    <p>Lorem ipsum dolor sit amet, … … id est laborum.</p>
  </section>
  <section>
    <h2>Vier foto's</h2>
    <div>Hier leest u wat er over dit album is te zeggen</div>
  </section>
</article>
 
<article id="page2">
  <section>
    <h1>De molen van Spijkenisse, voor de verhoging</h1>
    <p><img src="foto1.jpg"
        alt="Molen" style="float:right; margin:0 0 5px 40px">
        Lorem ipsum dolor sit amet, … … id est laborum.</p>
  </section>
  <section>
    <h2>Landschap</h2>
    <div>Een &quot;landschap&quot; is meer dan strand, bossen
        of bergen. Ook in de stad kun je landschappen fotograferen.</div>
  </section>
</article>
 
<article id="page3">
    .
    .
</article>
 
<article id="page4">
    .
    .
</article>
 
<article>
  <section>
  </section>
  <section>
    <h2>Welkom</h2>
    <div style="color:#d00">klik op de pijlen om te navigeren</div>
  </section>
</article>

Downloaden:
 
Druk op de knop: Download deze code  File: voorb537.zip, 2436 bytes.

 
terug

html-537; Laatste wijziging: 28 mei 2020