Aller au contenu

Bouton retour vers le haut

L'icône de retour vers le haut est très utile pour permettre de défiler rapidement vers le début de la page lorsque la page est très longue.

Afficher l'image en permanence

En début de session, nous avons vu comment afficher un bouton de retour vers le haut fixe dans l'écran.

Rappel :

CSS qui fixe une image à un endroit donné dans la page

img {
    position: fixed;    /*Rend la position fixe*/
    bottom: 2rem;       /*Indique la distance du bas*/
    right: 2rem;        /*Indique la distance de la droite*/
}

Afficher l'image lors du défilement

Dans ce cas, on doit détecter le défilement de la page, puis afficher l'image lorsque la page aura défilé d'un nombre déterminé de pixels.

Puisqu'on doit réagir (afficher) à une action de l'utilisateur (défilement), on doit alors utiliser du Javascript.

HTML

<!--Sur le défilement du body-->
<body onscroll="afficherIconeHaut()">
    ...
    <img id="fleche_haut" src="img/flecheHaut.png" alt="Icone de retour vers le haut">
</body>

CSS

/*Positionner et cacher l'icône par défaut*/
#fleche_haut {
    display: none;
    position: fixed;    
    bottom: 2rem;      
    right: 2rem;
}

Javascript

function afficherIconeHaut()
{
    /*Si la fenêtre a défilé d'au moins 500px, afficher. Sinon cacher*/
    if(window.scrollY > 500)
    {
        document.getElementById("fleche_haut").style.display = "inline-block";
    }
    else
    {
        document.getElementById("fleche_haut").style.display = "none";
    }
}

Retour