2012-06-11 10 views
5

http://jsfiddle.net/cbp4N/16/Posición de desplazamiento perdida al ocultar div

Si muestra el div. Cambie la posición de desplazamiento y luego escóndala y muéstrela una vez que se haya perdido la posición de desplazamiento.

estoy haciendo algo mal o es un error. ¿Hay alguna forma de redondearlo con som plugins?

/Anders

Gracias por las respuestas y soluciones. Pero, ¿y si el div que oculto es un div externo y el div desplazable está dentro de la div que escondo? ¿Hay alguna manera inteligente de arreglar esto también? Porque ahora no puedo configurar/guardar la posición de desplazamiento en la devolución de llamada de hide/show

+0

Usted es el demo es sólo trabajar bien el comportamiento – thecodeparadox

+0

Esto se esperaba, ya que no se puede establecer el valor de desplazamiento de un elemento oculto. – Quantastical

+0

que se espera, usted tendría que almacenar la posición de desplazamiento y restablecerla en el show –

Respuesta

5

.scrollTop() obras de jQuery bien si se mantiene la posición como datos.

$('#cbxShowHide').click(function(){ 
    if(this.checked) { 
     $('#block').show('fast',function() { 
      $(this).scrollTop($(this).data('scroll')); 
     }); 
    } 
    else { 
     $('#block').data('scroll',$('#block').scrollTop()); 
     $('#block').hide('fast'); 
    } 
}); 

example

1

Esto es un comportamiento normal porque el elemento está configurado con las menores variables posibles en la memoria cuando lo oculta. Si desea recordar la posición de desplazamiento, tendrá que almacenarlos usted mismo y luego aplicar la posición de desplazamiento al mostrarlo.

Scroll Position of div with "overflow: auto"

Cuestiones relacionadas