2011-04-11 6 views
12

스크롤 막대가 움직일 때 div를 이동해야하지만 순수한 자바 스크립트를 사용해야하고 위치 : 고정은 레이아웃에서 작동하지 않습니다. div의 원래 표식은 다른 것과 관련이 있습니다. onScroll과 같은 이벤트를 사용하여 페이지가 얼마나 많은 픽셀을 위나 아래로 이동했는지 감지하고 그에 따라 div의 위치를 ​​변경하는 간단한 구현이 있습니까? div는 수직으로 만 이동하면됩니다. 따라서 페이지가 몇 픽셀 이동했는지 감지 할 수 있다면 div의 위치에 추가하거나 뺄 수 있습니다. 어떤 도움이라도 대단히 감사하겠습니다 :-).스크롤로 Div 이동

+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.top'을'your_div.style.top'으로 바꿉니다. – ZiTAL

관련 문제