Biblioteca de JavaScript para hacer autoscroll de un div se fija a la izquierda de la página

StackOverflow https://stackoverflow.com/questions/3245423

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.

¿Fue útil?

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
scroll top