Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/10/2015, 10:45
kenproxd
 
Fecha de Ingreso: agosto-2009
Mensajes: 349
Antigüedad: 14 años, 9 meses
Puntos: 8
movimiento brusco

Hola a todos,

estoy haciendo una página que consta de dos divs que cubren verticalmente toda la pantalla, uno a la izquierda que sería como el header y otro a la derecha donde se mostrará el contenido.

Lo que quiero lograr es mantener el div de la izquierda todo el tiempo estático y que al hacer scroll el único que se mueva sea el del contenido. Lo he hecho de la siguiente manera:

Código Javascript:
Ver original
  1. $(window).scroll(function(){
  2.  
  3.     var wScroll = $(this).scrollTop();
  4.    
  5.     $('.header').css({
  6.         // 'transform': 'translate(0px,' + wScroll +'px)'
  7.         'margin-top': wScroll
  8.     });
  9.  
  10. });

Código HTML:
Ver original
  1. <div class="container">
  2.   <div class="header"></div>
  3.   <div class="content"></div>
  4. </div>

Código CSS:
Ver original
  1. .container {
  2.    display: block;
  3.    width: 100%;
  4.    height: 100vh;
  5. }
  6. .header {
  7.    width: 33.3%;
  8.    height: 100%;
  9.    background: pink;
  10.     float: left;
  11. }
  12. .content {
  13.     float: right;
  14.     width: 66.6%;
  15. }

Funciona bien, el problema es que al hacer scroll con la rueda del mouse pareciera como si el fondo del div .header desapareciera unos milisegundos y volviera a aparecer, en cambio al bajar la página con la barrita del navegador esto no sucede.
He probado tanto con translate como con margin para ver si es problema de la propiedad pero en ambos casos pasa lo mismo.