본문 바로가기

프로그래밍관련/javascript

Div Scroll location

Ajax로 게시판을 구현하다보니...

게시판이 페이징이 없는 게시판인 경우...

Div에 스크롤을 주게 되었습니다.

문제는....수정/댓글등록 등의 수정사항이 생겨 게시판이 리로드 되는 경우 focus를 다시 주어야 하는데...

<span></span>으로 이전 위치에 대한 focus를 주어 봤지만, 저의 Div는 꿈쩍도 안하더군요.

구글링을 해본 결과....

Div의 스크롤 위치를 변경하려면 해당 위치를 계산해서 위치값을 주어야 하는데...

각 글들의 크기가 일정치 않다보니...계산해서 움직이려면 연산이 복잡해 지더군요.

그래서 현재 프로젝트에 사용중이 mootools 1.2 의 기능을 살펴보던중...

Fx.Scroll 이 눈에 들어 오더군요.

var myFx = new Fx.Scroll($('DivId'),{
        duration: 2000
});
if($('spanId')!=null){
        myFx.toElement($('spanId'));
}

먼저 Div를 Fx.Scroll 오브첵트로 변환해서 toElement 메소드로 해당 엘리먼트를 Top위치로 스크롤을 옮겨주더군요.
mootool는 역시 쓸만 합니다...(사실 감동...ㅎㅎ)

이 외에도 toBottom, toTop, toRight 등의 메소드와 특정 좌표를 이용하여 스크롤을 이동시키는 메소드도 지원합니다.