top bar를 스크롤시 고정된 위치에서 따라다니게 하려면 css에서 'position' : 'fixed'하면된다
하지만 일정 스크롤 이하에서만 화면에 고정되고 그전에는 붙어 있지 않게 하려면..?
브라우저의 scroll의 위치와 element offset을 비교하여 offset을 넘어가면 fixed 그렇지 않으면 absolute 또는 relative로 하면 된다.
$(window).scroll( function() {
if(window.pageYOffset >= $("table:first").offset().top) {
$("#top-bar").css("position", "fixed")
} else {
$("#top-bar").css("position", "absolute")
}
});
jquery의 .scroll()로 스크롤 이벤트 리스너를 사용하고
window.pageYOffset : 현재 페이지에서의 화면의 위치
$(특정 element).offset() - 페이지에서 특정 element의 위치(top, left값이 나옴)를 비교해서 css처리 해준다.
'개발 > jQuery' 카테고리의 다른 글
jquery event.preventDefault()로 이벤트 무력화 (0) | 2012.11.30 |
---|---|
jquery 에서 포함하는 문자열로 객체 가져오기 (0) | 2012.11.29 |
Ajax 앞,뒤로가기 history (0) | 2012.10.29 |
jQuery-브라우저 창 사이즈 조절에 따른 이벤트 만들기 (0) | 2012.10.29 |
jquery jsonp 사용법 (0) | 2012.01.16 |