div

2012-06-11 19 views
5

http://jsfiddle.net/cbp4N/16/div

यदि आप div दिखाते हैं तो स्क्रॉल स्थिति खो जाती है। स्क्रॉल स्थिति बदलें और फिर इसे छिपाएं और दिखाएं कि स्क्रॉल स्थिति गुम हो गई है।

क्या मैं कुछ भी गलत कर रहा हूं या यह एक बग है। क्या कुछ प्लगइन के साथ इसके चारों ओर एक रास्ता है।

/एंडर्स

उत्तर और समाधान के लिए धन्यवाद। लेकिन क्या होगा यदि मैं जो div छुपाता हूं वह बाहरी div है और स्क्रॉलिंग div मैं छिपाने वाले div के अंदर गहरा है। क्या इसे ठीक करने का कोई स्मार्ट तरीका है। अब बनें मैं छिपाने/शो

+0

तुम हो डेमो ठीक – thecodeparadox

+0

यह अपेक्षित व्यवहार काम कर रहा है, तो आप एक छिपा तत्व की पुस्तक मूल्य निर्धारित नहीं कर सकते हैं। – Quantastical

+0

की अपेक्षा की जाती है, आपको स्क्रॉल स्थिति को स्टोर करना होगा और इसे –

उत्तर

5

jQuery के .scrollTop() काम करता है अच्छी तरह से करता है, तो आप डेटा के रूप में स्थिति को बनाए रखने।

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

के कॉलबैक में स्क्रॉल स्थिति को सेट/सहेज नहीं सकता है यह सामान्य व्यवहार है क्योंकि जब आप इसे छुपाते हैं तो तत्व स्मृति के लिए कम से कम संभव चर सेट पर सेट होता है। यदि आप स्क्रॉल स्थिति याद रखना चाहते हैं तो आपको उन्हें स्वयं स्टोर करना होगा और फिर इसे दिखाने पर स्क्रॉल स्थिति लागू करनी होगी।

Scroll Position of div with "overflow: auto"