En esta entrada vamos a ver como desplazar un banner o un menú y así dejarlo fijo en el area visible. De esta manera según vayas haciendo scroll vaya bajando y permanezca alineado de manera que se muestre siempre visible en tu web.
Este mismo método que utiliza CSS y JavaScript te vale para hacer menus desplazables, banner en el sidebar u otro tipo de elementos que quieras mostrar fijo en tu web.
Este tipo de efecto se ha puesto muy de moda en los últimos años , por lo que lo podéis ver en numerosas webs.
<div id="sidebar2" class="col-xs-12 col-sm-12 col-lg-12 hidden-sm hidden-xs">
<p><img style="height: 550px;" src="/banner lateral.001.jpeg" alt="" /></p>
</div>
<script type="text/javascript">
var elementPosition = $('#sidebar2').offset();
var distance_from_top = document.body.scrollTop;
$(window).scroll(function(){
if($(window).scrollTop() > elementPosition.top && $(window).scrollTop()>200 ){
$('#sidebar2').css('position','fixed').css('top','0');
} else if (distance_from_top > 500){
$('#sidebar2').css('position','static');
}
else {
$('#sidebar2').css('position','static');
}
});
</script> |
En el código le puedes dar la distancia a la que quieres que una vez pasada esa distancia el div o el menu o el elemento que hayas puesto se desplace y empiece a acompañarte por la página.
Aquí tienes otra forma que en funcionamiento haría lo mismo:
<div id="navigation" class="col-xs-12 col-sm-12 col-lg-12 hidden-sm hidden-xs">
<p><img style="height: 550px;" src="/banner lateral.001.jpeg" alt="" /></p>
</div>
<script type="text/javascript">
var elementPosition = $('#navigation').offset();
$(window).scroll(function(){
if($(window).scrollTop() > elementPosition.top){
$('#navigation').css('position','fixed').css('top','0');
} else {
$('#navigation').css('position','static');
}
});
</script> |
