Je veux une bibliothèque JS qui me permette de créer un menu attrayant toujours visible pour l'utilisateur sur le côté gauche de l'écran, à peu près au milieu.
Réponse
Trop de publicités?Depuis que vous avez demandé une bibliothèque, voici en jQuery. Il utilise CSS position: fixed
s'il est disponible, et se dégrade de façon élégante vers la manière javascript si nécessaire.
[Voir en action]
CSS
#menu {
position: absolute;
left: 0;
top: 50%;
/* ... */
}
Javascript
(function() {
var $menu = $("#menu");
var $window = $(window);
var menuHalfHeight = $menu.outerHeight() / 2;
var updateMenu = function() {
$menu.css({
"margin-top": - menuHalfHeight + $window.scrollTop()
});
};
var supportFixed = (function() {
$menu.css({ position: "fixed" });
updateMenu();
return $menu.offset().top > 0; // ~150
})();
if (!supportFixed) {
$menu.css({ position: "absolute" });
$window.scroll(updateMenu);
}
})();