CSS-menu met schuivende panelen III

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 sub-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.

Dit is een bewerking van een script dat ik aantrof in Webdesigner Magazine nr. 86 (mei 2016), pag. 48 e.v. Dit blad 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 site is de vormgeving van het voorbeeld aangepast en is de (summiere) code compleet gemaakt.

We beginnen met het voorbeeld, dat opent in een nieuw venster of tabblad. Klik op een van de vijf kolommen en sluit af met het kruisje in het rode vlakje rechtsboven.

Opmerking: Het voorbeeld werkt alleen goed op op desktop- en laptopcomputers, en dan alleen als het browser-window breder is dan de breedte van alle panelen / foto's / bijschriften samen. Als daar niet aan is voldaan verschijnt de meest rechtse foto vergroot in beeld, overlappen de foto's elkaar en/of verschijnen de (verborgen) panelen rechts in beeld.

Opmerking: Dit werkt niet op apparaten die draaien op Android. Vermoedelijk omdat de render-motor de CSS niet goed behandelt.

Toon het voorbeeld

Gebruik:

De code van het voorbeeld ziet er als volgt uit:
(Alleen de code voor het eerste paneel wordt getoond)
 
(Zet dit in de <HEAD>).

<link rel="stylesheet" href="styles.css">

(Zet dit in de <BODY>).

<div id="content">
  <div class="panel one" onclick="start('1')">
    <div class="panelcontent">Molen</div>
    <img src="foto-1.jpg" alt="" height="187" width="250" border="0">
  </div>
.
.
</div>
 
<div id="panel1">
  <div class="panelinpanel">
    <div class="cross" onclick="finish('1')">X</div>
    <img src=foto-1-groot.jpg" style="float:right; margin:0 40px">
    <h1>Molen</h1>
    Rechts op de foto staat de molen "Nooit Gedacht", in Spijkenisse.
    De foto dateert uit de tijd van vóór de verhoging en is genomen
    vanaf het spuikanaal.
    <p>Lorem ipsum dolor sit amet, ... est laborum.</p>
    <p class="footer">De foto is afkomstig van
      <a href="https://www.webmasterij.nl/fotoalbum"
      target="NewBen">Ben's Fotoalbum</a>.</p>
  </div>
</div>

(Zet dit aan het einde van de <BODY>, dus net voor de </body>-tag).

<script>
var content = document.getElementById("content");
var panel1 = document.getElementById("panel1");
.
.
function start(seqno) {
  content.classList.add("mover");
  switch (seqno) {
  case '1':  panel1.classList.add("mover"); break;
  .
  .
  }
}
function finish(seqno) {
  content.classList.remove("mover");
  switch (seqno) {
  case '1':  panel1.classList.remove("mover"); break;
  .
  .
  }
}
</script>

Downloaden:
 
Druk op de knop: Download deze code  File: voorb518.zip, 2737 bytes.

 
terug

html-518; Laatste wijziging: 16 mei 2021