2011-04-11 9 views
12

स्क्रॉल बार चलने पर मुझे div को स्थानांतरित करना होगा, लेकिन शुद्ध जावास्क्रिप्ट का उपयोग करने की आवश्यकता है, और स्थिति: निश्चित लेआउट के साथ काम नहीं करेगा। Div का मूल अधिग्रहण किसी और चीज़ के सापेक्ष है। क्या स्क्रीन पर ऊपर या नीचे कितने पिक्सल ऊपर या नीचे ले जाया गया है, यह पता लगाने के लिए, ऑनक्रोल जैसे ईवेंट का उपयोग करके एक सरल कार्यान्वयन है, और इसके अनुसार div की स्थिति बदलें। Div को केवल लंबवत स्थानांतरित करने की आवश्यकता है। इसलिए यदि मैं पता लगा सकता हूं कि पृष्ठ कितने पिक्सल स्थानांतरित हो गया है, तो मैं इसे div के स्थान पर जोड़ या घटा सकता हूं। कोई भी मदद बहुत ही सराहनीय होगी :-)।स्क्रॉल के साथ diving

+1

तो क्या तुम अब है से है ... (यह है जहाँ आप एक कोड पेस्ट स्निपेट आप अब तक किया है है) –

उत्तर

15
window.onscroll = function (e) { 
    var vertical_position = 0; 
    if (pageYOffset)//usual 
    vertical_position = pageYOffset; 
    else if (document.documentElement.clientHeight)//ie 
    vertical_position = document.documentElement.scrollTop; 
    else if (document.body)//ie quirks 
    vertical_position = document.body.scrollTop; 

    var your_div = document.getElementById('some_div'); 
    your_div.top = (vertical_position + 200) + 'px';//200 is arbitrary.. just to show you could now position it how you want 
} 
+2

आप कमाल :-) कि हर ब्राउज़र मैं में इसे करने की कोशिश में पूरी तरह से काम किया हो । मेरी सहायता करने के लिये आपका बहुत धन्यवाद। – rubixibuc

+0

@ जेक सबसे पहले यह your_div.style.top होना चाहिए (शैली आपके कोड में गायब है) नहीं है? और यह भी एक बार div को एक बार चलता है और जैसा कि हम स्क्रॉल करते हैं। अगर मैं गलत हूं तो कृपया मुझे सही करें! – Ashwin

+0

'your_div.topyle.top' – ZiTAL