2012-07-14 43 views
6

मैंने सोचा था कि जब आपने रीफ्रेश पर क्लिक किया था, तो ब्राउज़र को आपके पृष्ठ को शीर्ष पर रीसेट करना था? मैं js accordion का उपयोग कर रहा हूं और जब मैं रीफ्रेश करता हूं, तो यह accordion को बंद करता है लेकिन पृष्ठ को शीर्ष पर स्थानांतरित नहीं करता है।ब्राउज़र को फिर से लोड करने के लिए पृष्ठ को रीसेट नहीं किया जाता है

http://imip.rvadv.com/index3.html

+2

जावास्क्रिप्ट के साथ कुछ भी नहीं करना, यह डिफ़ॉल्ट ब्राउज़र ऑपरेशन – freefaller

+0

क्रोम पृष्ठ के स्क्रॉल शीर्ष को रीसेट नहीं करेगा अगर आप इसे रीफ्रेश करते हैं। –

उत्तर

9

ठीक है, है, यह

:) नहीं है लेकिन आप कुछ सरल jQuery के साथ यह मजबूर कर सकते हैं:

आप "ठीक" कर सकते हैं यह इतना तरह

$(document).ready(function(){ 
    $(this).scrollTop(0); 
}); 

संपादित करें:

एक ही रास्ता करने के लिए लगता है कि आईई 9 में काम करते हैं, एफएफ 12 और क्रोम 20.0 निम्नलिखित है:

$(document).ready(function(){ 
    $('html').animate({scrollTop:0}, 1); 
    $('body').animate({scrollTop:0}, 1); 
}); 

अजीब बात यह है कि जब मैं तत्वों स्क्रॉल सीधे किसी भी एनीमेशन लागू किए बिना की कोशिश की (कि, $('html').scrollTop(0) है), यह काम नहीं किया है। चूंकि अवधि 1 मिलीसेकंड पर सेट की गई है, इसलिए उपयोगकर्ता कुछ भी ध्यान नहीं देगा।

मुझे खुशी होगी अगर कोई इस पर कुछ प्रकाश डाल सकता है - स्क्रॉलिंग केवल एनिमेशन के साथ क्यों काम करती है?

+1

यह एफएफ और क्रोम में काम करता है लेकिन आईई – imakeitpretty

+0

@imakeitpretty में नहीं मेरे संपादन देखें। –

+0

आईई 9 में, मैं अभी भी इसे कूद रहा हूं। यह शीर्ष पर कूदता है, फिर यह उस स्थान पर वापस कूदता है जहां से शुरुआत करना था। मुझे कुछ आसान चिकना दिखना अच्छा लगेगा। शीर्ष पर एक स्लाइड अच्छा होगा क्योंकि मेरे बाकी accordion क्या करता है। – imakeitpretty

6

ब्राउज़र जहां फिर से लोड करने से पहले थे, सुविधानुसार प्रयास के रूप में करने के लिए नीचे स्क्रॉल करेगा। यह अत्यधिक लंबे पृष्ठों के लिए वास्तव में उपयोगी है। जैसा कि आप देख सकते हैं

window.onload = function() {document.body.scrollTop = document.documentElement.scrollTop = 0;}; 
+0

यह एफएफ में काम करता है लेकिन क्रोम में नहीं और आईई में यह जैक अप करता है। इससे पहले कि यह ठीक से निष्पादित करता है, स्क्रीन की तरह झिलमिलाहट। – imakeitpretty

2

comonpyke द्वारा पिछले टिप्पणी और खुद परीक्षणों के आधार पर मैं

$(document).ready(function(){ 
    $('html, body').scrollTop(0); 

    $(window).on('load', function() { 
    setTimeout(function(){ 
     $('html, body').scrollTop(0); 
    }, 0); 
}); 
}); 
  • पहले scrollTop स्क्रॉल जल्दी
    • दस्तावेज़ के बाद तैयार
  • दूसरा scrollTop स्क्रॉल देर
    • के बाद की सिफारिश लोड इवेंट
      • और समय समाप्ति
10

के बाद अगर ऊपर से कोई भी काम इस प्रयास करें। यह ब्राउजर को यह सोचने के लिए चाल करेगा कि यह ताज़ा करने से पहले दस्तावेज़ के शीर्ष पर था।

$(window).on('beforeunload', function() { 
    $(window).scrollTop(0); 
}); 
संबंधित मुद्दे