Uitklappend paneel

Tekst en plaatje

Lorem Ipsum voluptatum aliquando convenire insolens. Tempor integre gravida es repudiandae tation natum sagittis vivendo pri expetendis accusam deseruisse apeirian.

Klik mij

Als je op de knop hiernaast drukt verschijnt er (een eindje naar beneden op deze bladzijde) een groene cirkel met de tekst "klik mij". Als je dat doet schuift de cirkel naar boven. Er klapt een paneel uit met een plaatje en wat tekst. Als je weer op de cirkel klikt schuift die weer terug naar beneden; tegelijkertijd sluit het paneel zich.
De knop is niet relevant voor het voorbeeld, maar dient alleen om de tekst leesbaar te houden.

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

Dit is een bewerking van een script dat ik aantrof in Webdesigner Magazine nr. 88 (juli 2016), pag. 44 en 45. 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 code van net voorbeeld uitgebreid en verbeterd. De vormgeving is aangepast voor deze site.

Gebruik:

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

<link rel="stylesheet" href="styles.css">
<script>
function init() {
  var block = document.getElementById("block");
  var circle = document.getElementById("circle");
  var txt = document.getElementById("txt");
}
 
window.onload=init;
 
var open = false;
function runAnimation() {
  if (!open) {
    block.classList.remove("anim1W");
    circle.classList.remove("anim2W");
    txt.classList.remove("hide");
    block.classList.add("anim1H");
    circle.classList.add("anim2H");
    txt.classList.add("show");
    open = true;
  } else {
    block.classList.remove("anim1H");
    circle.classList.remove("anim2H");
    txt.classList.remove("show");
    block.classList.add("anim1W");
    circle.classList.add("anim2W");
    txt.classList.add("hide");
    open = false;
  }
}
</script>

(Zet dit bij voorkeur aan het begin van de <BODY>)

<div id="effect" style="opacity:0">
  <div id="block">
    <div id="txt" class="hide">
      <h1>Tekst en plaatje</h1>
      <p><img src="leftface.gif" alt="" height="32" width="42"
        border="0">
      Lorem Ipsum voluptatum aliquando convenire insolens. Tempor 
        integre gravida es repudiandae tation natum sagittis vivendo
        pri expetendis accusam deseruisse apeirian.</p>
    </div>
  </div>
  <div id="circle" onclick="runAnimation()">
    <span>Klik mij</span>
  </div>
</div>

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

<script>
function toonVoorbeeld() {
  var aa = document.getElementById('effect');
  var bb = document.getElementById('Knop');
  if (aa.style.opacity == 0) {
    aa.style.opacity = 1;
    bb.innerHTML = "Verberg het voorbeeld";
  } else {
    aa.style.opacity = 0;
    bb.innerHTML = "Toon het voorbeeld";
  }
}
</script>

(Zet dit in de <BODY> op de plaats waar de knop moet verschijnen).

<button type="button" id="Knop" class="Knop"
    onclick="toonVoorbeeld()">Toon het voorbeeld</button>

De CSS voor de opmaak van de knop staat in style.css.

(Voeg dit argument toe aan de tag <div id="effect>).

style="opacity:0"

Downloaden:
 
Druk op de knop: Download deze code  File: voorb530.zip, 2258 bytes.

 
terug

html-530; Laatste wijziging: 27 mei 2020