Vastgepind voortgangsmenu

Lange teksten kun je beste indelen in hoofdstukken. Als je die op je website publiceert kun je de hoofdstukken markeren met bookmarks. In HTML doe je dat met <a name="Hoofdstuk-1></a>. Je kunt daar naar toe springen met gewone hyperlinks. Die kun je in knoppen zetten, vergelijkbaar met de navigatie op deze website.

Op deze pagina presenteer ik code, waarmee je zoiets realiseert. De knoppen dienen echter niet alleen voor de navigatie, het zijn ook progress-bars, die per hoofdstuk aangeven hoe ver je gevorderd bent in dat hoofdstuk.

Omdat dit niet goed is in te passen in een site met frames (zoals deze) wordt het voorbeeld getoond in een apart tabblad. De code van het voorbeeld kun je downloaden om zelf te gebruiken.

Dit is een bewerking van code die is gemaakt door Jayson Winters voor Web Designer Magazine. Verdere informatie ontbreekt. Er wordt gebruik gemaakt van een jQuery-plug-in met de naam lockfixed, die is gemaakt door die is gemaakt door Yvo Schaap. De code van de jQuery-plugin staat niet meer op zijn site, maar je vindt de code wel in de downloadfile.

Gebruik:

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

<link rel="stylesheet" href="style455.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js">
</script>
<script src="jquery.scrollnavprogress.js"></script>

(Zet dit net na de <BODY>)-tag.

<div id="sidebar">
  <div class="menu">
  <progress id="progress_bar1" value="0" max="90"></progress>
    <a href="#Hoofdstuk1"><h3 class="caption">Hoofdstuk 1</h3></a>
    <p class="subtitle">Jantje zag eens pruimen hangen</p>
  <progress id="progress_bar2" value="0" max="84"></progress>
    <a href="#Hoofdstuk2"><h3 class="caption">Hoofdstuk 2</h3></a>
    <p class="subtitle">O als eieren, zo groot</p>
  <progress id="progress_bar3" value="0" max="84"></progress>
    <a href="#Hoofdstuk3"><h3 class="caption">Hoofdstuk 3</h3></a>
    <p class="subtitle">'t Scheen dat hij ze wou gaan&hellip;</p>
  <progress id="progress_bar4" value="0" max="84"></progress>
    <a href="#Hoofdstuk4"><h3 class="caption">Hoofdstuk 4</h3></a>
    <p class="subtitle">Schoon zijn vader 't hem verbood<
  <progress id="progress_bar5" value="0" max="25"></progress>
    <a href="#Hoofdstuk5"><h3 class="caption">Hoofdstuk 5</h3></a> 
    <p class="subtitle">Dus moest Jantje braaf zijn</p>
  </div> <!-- menu -->
</div> <!-- sidebar -->

(Zet dit net voor de </BODY>)-tag.

<script>
$(document).ready(function () {
  $(window).scroll(function () {
    var top = $(this).scrollTop(),
    sheight = $(document).height(),
    scrll = (top / sheight);
    $("#progress_bar1").attr('value', ((scrll)*540)-10);
    $("#progress_bar2").attr('value', ((scrll)*540)-120);
    $("#progress_bar3").attr('value', ((scrll)*540)-220);
    $("#progress_bar4").attr('value', ((scrll)*540)-320);
    $("#progress_bar5").attr('value', ((scrll)*540)-420);
  });
});
 
(function($) {
  $.lockfixed("#sidebar .menu",{offset: {top: 10, bottom: 250}});
})(jQuery);
</script>

Downloaden:
 
Druk op de knop: Download deze code  File: voorb455.zip, 6938 bytes.

Opmerking:
 
Voor het lezen van grote lappen tekst kun je ook een automatische scroller inzetten.
Zie het item Automatische scroller voor het lezen van lange teksten.

 
terug

html-455; Laatste wijziging: 25 mei 2020