2009-08-08 14 views
18

क्या उपयोगकर्ता स्क्रॉलबार स्थिति को बदलना संभव है जब उपयोगकर्ता किसी वेब पेज को स्क्रॉल करने के लिए एक निश्चित बिंदु तक पहुंचता है? उदाहरण के लिए जब आप पेज के नीचे आधे रास्ते तक पहुंचे तो स्क्रॉलबार स्वचालित रूप से शीर्ष पर वापस चलेगा।स्क्रॉलबार स्थिति बदलना

उत्तर

29

आप स्क्रॉलबार onscroll घटना का उपयोग कर की वर्तमान स्थिति का प्रतिशत की गणना कर सकते, और अगर यह तक पहुँचता है 50% स्क्रॉल स्थिति scrollTo समारोह के साथ पेज के शीर्ष करने के लिए सेट किया जा सकता है:

window.onload = function() { 
    window.onscroll = function() { 
    var doc = document.body, 
    scrollPosition = doc.scrollTop, 
    pageSize = (doc.scrollHeight - doc.clientHeight), 
    percentageScrolled = Math.floor((scrollPosition/pageSize) * 100); 

    if (percentageScrolled >= 50){ // if the percentage is >= 50, scroll to top 
     window.scrollTo(0,0); 
    } 
    }; 
}; 

आप मेरा उदाहरण here देख सकते हैं।

+1

@ सीएमएस: उत्कृष्ट जवाब! – Josh

+0

window.scrollTo (0,0); मेरे लिए chomre में काम नहीं करता है – SuperUberDuper

9

हाँ, मैंने इसे कुछ बार देखा है। पिक्सल के राशि है जो आप से स्क्रॉल करने के लिए चाहते है

window.scrollBy (0,50)

50: यहां कुछ जे एस कोड है।

2

(window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop) आपको किसी भी ब्राउज़र में वर्तमान स्क्रॉल स्थिति देना चाहिए।

4

तीन स्क्रॉलिंग फ़ंक्शंस जिन्हें आप स्वयं चिंता करना चाहते हैं window.scroll(x,y), window.scrollBy(dx,dy), और window.scrollTo(x,y) हैं।

जैसा कि डेविड ने बताया है कि आपको यह जानने के लिए स्क्रॉल स्थिति की आवश्यकता होगी कि आप कहां हैं और window.onscroll ईवेंट का उपयोग इस गणना को बंद करने के लिए करें।

+1

क्या ये सभी ब्राउज़रों पर उपलब्ध हैं या कुछ फीचर पहचान आवश्यक है? –

संबंधित मुद्दे