Elevator.js est né d'une blague sur un moment gênant bien connu. La page du projet de Tim Holman demandait ce qui se passe quand un lecteur fait défiler une longue page jusqu'en bas — « Wow, tout ce défilement... Ça va prendre une éternité pour remonter en haut » — et faisait remarquer que si les boutons « retour en haut » sont fonctionnels, ils sautent directement par-dessus ce moment. Sa réponse : appeler les boutons de retour en haut des ascenseurs et les faire se comporter comme des ascenseurs.
La bibliothèque tient sa promesse de façon modeste et technique. Elle est autonome — pas de jQuery — et ne gère que l'audio et le défilement : un développeur lui indique un fichier audio principal et un fichier audio de fin, et un clic sur le bouton lance une musique d'ascenseur, fait défiler en douceur jusqu'en haut et joue un ding de fermeture. Les options couvrent un élément cible personnalisé, une durée fixe, un remplissage vertical et des callbacks, et le code est sous licence MIT sur GitHub et sur NPM, avec un audio de démonstration sous licence de Pond5.
L'astuce, c'est que la page du projet sert aussi de démo. Le visiteur fait défiler un texte qui raconte la gêne, puis clique sur le bouton de l'ascenseur et remonte avec lui — la blague est vécue plutôt que décrite. Quand la page est arrivée sur Hacker News le 21 avril 2015, les commentateurs ont dit qu'elle les avait fait sourire, ont échangé des remarques sur la musique et la lecture automatique, et ont proposé des ajouts comme sauter le 13e étage.
Traiter le moment utilitaire lui-même comme le produit : faire du retour en haut une balade en ascenseur à la fois fonctionnelle et amusante
La fonction reste intacte : le défilement vers le haut fonctionne toujours, et la bibliothèque est un module autonome prêt à l'emploi, si bien que le spectacle ne sacrifie jamais l'utilité qu'il habille.
L'expérience se vend d'elle-même : le lecteur qui clique sur l'ascenseur subit la blague, ce qui explique que des commentateurs aient dit qu'elle les avait fait sourire et qu'ils avaient hâte de l'utiliser.
Un petit code sous MIT et un paquet NPM ont réduit le coût de l'essai, et le fait de laisser le style et l'audio à l'intégrateur a permis à chaque site de s'approprier la balade.
Le moment était universel : chaque longue page a cette remontée ennuyeuse, si bien qu'une solution qui la rendait amusante avait un public partout où elle apparaissait.
Quand une action routinière ressemble à du temps mort, ajoutez un peu de théâtre : un plaisir qui préserve la fonction transforme une corvée en un moment que les gens partagent
Suites
Le fil Hacker News du 21 avril 2015 a récolté 438 points et 66 commentaires, dont la plupart illustrent le cœur de la blague : des personnes ayant coupé le son de leurs haut-parleurs n'ont découvert la musique qu'après avoir lu le fil, certaines ont suggéré d'ajouter des pistes ou de sauter le 13e étage, et une a fait remarquer que la mélodie pouvait continuer à jouer si l'onglet restait inactif. Le projet est resté un petit artefact open source — la page et le dépôt étaient toujours en ligne en septembre 2026 — et Elevator.js est devenu un exemple souvent cité d'ajout de plaisir à une interaction utilitaire plutôt qu'une entreprise.
VÉRIFIEZ LES SOURCES
Les sources
- Elevator.js - Hacker News Hacker News · news.ycombinator.com ·
- Elevator.js Tim Holman (tholman.com) · tholman.com
- tholman/elevator.js - finally, a 'back to top' button that behaves like a real elevator GitHub · github.com