2012-06-11 10 views
5

http://jsfiddle.net/cbp4N/16/Posizione di scorrimento persa quando si nasconde div

Se si mostra il div. Cambia la posizione di scorrimento e poi nascondi e mostra che la posizione di scorrimento è persa.

sto facendo qualcosa di sbagliato o si tratta di un bug. C'è un modo per aggirarlo con alcuni plugin.

/Anders

Grazie per le risposte e soluzioni. Ma cosa succede se il div che io nascondo è un div esterno e il div scorrevole è profondo nel div io mi nascondo. C'è un modo intelligente per risolvere anche questo. Adesso non posso impostare/salvare la posizione di scorrimento nella richiamata del nascondi/show

+0

Non Sei demo è solo lavorando comportamento bene – thecodeparadox

+0

Questo è previsto, come non è possibile impostare il valore di scorrimento di un elemento nascosto. – Quantastical

+0

che è previsto, dovresti memorizzare la posizione di scorrimento e resettarla su show –

risposta

5

di jQuery .scrollTop() funziona bene se si mantiene la posizione come dati.

$('#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

Questo è un comportamento normale perché l'elemento è impostato sulla minima variabile possibile alla memoria quando lo si nasconde. Se si desidera ricordare la posizione di scorrimento, è necessario memorizzarli e quindi applicare la posizione di scorrimento per visualizzarla.

Scroll Position of div with "overflow: auto"

Problemi correlati