2011-04-11 26 views
12

Kaydırma çubuğu hareket ettiğinde bir div taşımak zorundayım, ancak salt javascript kullanmam gerekiyor ve konum: sabit düzeni ile çalışmaz. Div'in orijinal poisisyonu başka bir şeye göredir. Sayfanın kaç pikselini yukarı veya aşağı hareket ettiğini algılamak ve div'un konumunu değiştirmek için onScroll gibi basit bir uygulama ve olay var mı? Div sadece dikey olarak hareket etmelidir. Dolayısıyla, sayfanın kaç piksel taşıdığını algılayabilseydim, bunu yalnızca divun konumuna ekleyebilir veya çıkarabilirim. Herhangi bir yardım büyük takdir :-).Kaydırmalı Div ile Gezinme

+1

Peki (bir kodu yapıştırın bu nerede o ana kadar yaptığım snippet'ine olan) ... şimdi ediliyorsa tarafından sahip –

cevap

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

Neye denedim her tarayıcıda mükemmel çalıştı müthiş :-) konum . Bana yardım ettiğin için çok teşekkür ederim. – rubixibuc

+0

@Jake Öncelikle bu sizin_div.style.top olmak zorundadır (stil kodunuzda yok) isn't? Ve ayrıca bu, sadece bir kez bir div taşır ve biz kaydırdıkça değil. Yanılıyorsam lütfen beni düzeltin! – Ashwin

+0

'your_div.top' yerine' your_div.style.top' ile değiştirin – ZiTAL