Biblioteca de JavaScript para hacer autoscroll de un div se fija a la izquierda de la página
-
15-09-2020 - |
Pregunta
Quiero una biblioteca JS que pueda permitirme construir un menú atractivo que siempre es visible para el usuario en el lado izquierdo de la pantalla, aprox.al medio.
Solución
Dado que ha pedido una biblioteca, aquí está en jquery .
Utiliza CSS position: fixed
si está disponible, y se degrada con gracia a la forma de javascript si es necesario.
[ verlo en acción ]
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);
}
})();
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow