Verticale scroll-indicator II: lijn in de marge

De techniek die op deze bladzijde wordt besproken is bij uitstek geschikt voor lange stukken tekst.
Als je deze pagina scrollt, verschijnt er een verticale lijn in de linker marge, die langer wordt naarmate je verder scrollt.
Op deze bladzijde wordt uitgelegd hoe je zoiets maakt. De code van het voorbeeld kun je downloaden om zelf te gebruiken.

Gebruik:

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

<style>
.lijn {
  position:fixed;
  bottom:0;
  left:2px;
  width:0;
  height:0;
  border:2px solid maroon;
  border-radius: 2px px 0 0;
  z-index:9999;
  visibility:hidden;
}
</style>
 
<script>
var yPerc, aa, bb, cc;
 
window.addEventListener("load", function() {
  aa = document.getElementById('lijn');
  bb = document.body.clientHeight;
  window.addEventListener("resize", streep);
  window.addEventListener("scroll", streep);
  streep();
});

function streep() {
  cc = window.innerHeight;
 
  if (bb <= cc) return;  // Er moet  wel wat te scrollen zijn
 
  yPerc = window.pageYOffset / (bb - cc); // Hoe ver is er gescrolled?

  if (yPerc > 0.01) {
    aa.style.visibility = "visible"; // Er moet minstens 1% zijn gescrolled
    if (yPerc > 1) yPerc = 1; // en niet meer dan 100%, want dat kan niet
  } else {
    aa.style.visibility = "hidden";
    return;
  }
  aa.style.height = yPerc*cc - 10 + "px";
}
</script>

(Zet dit "ergens" in de <BODY>, bijvoorbeeld aan het begin).

<div class="lijn" id="lijn"></div>

Downloaden:
 
Druk op de knop: Download deze code  File: voorb116.zip, 736 bytes.

Opmerking:
 
Om te zorgen dat het effect goed zichtbaar wordt, is deze pagina langer gemaakt door het toevoegen van een aantal paragrafen met "Lorem ipsum" tekst.

 
terug

html-116; Laatste wijziging: 12 mei 2021

Lorem ipsum dolor sit amet, consectetaur adipisicing velit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation llamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Lorem ipsum dolor sit amet, consectetaur adipisicing velit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation llamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Lorem ipsum dolor sit amet, consectetaur adipisicing velit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation llamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Lorem ipsum dolor sit amet, consectetaur adipisicing velit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation llamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Lorem ipsum dolor sit amet, consectetaur adipisicing velit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation llamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

 
terug

html-116; Laatste wijziging: 12 mei 2021