// JavaScript Documentvar eventTimer;    // タイマー変数var restScroll=0;    // スクロール残量function Scroll(base,move){    // 移動元(base)要素＆オブジェクトを取得    var obj_base = getElemPosition(base);    // 移動先(move)要素＆オブジェクトを取得    var elem_move = document.getElementById(move);    var obj_move = getElemPosition(elem_move);    restScroll = obj_move.y; // 基の記述「restScroll = obj_move.y-obj_base.y;」    eventTimer = setInterval(setScrollPosition,10);}// スクロール処理をするfunction setScrollPosition() {    var moveValue=0;    // スクロール残量が80以上の場合、スクロール量を変える    // Math.abs()では値の絶対値を取得    if(Math.abs(restScroll)>80){        moveValue = (restScroll>0)?20:-20;    }else{        moveValue = Math.round(restScroll/4);    }    // スクロールを処理    parent.scrollBy(0,moveValue);    // スクロール残量を計算して、残りが無ければタイマー解除    restScroll = (restScroll>0)?restScroll-moveValue:restScroll-moveValue;    if(moveValue==0){        clearInterval(eventTimer);        restScroll=0;    }}// 要素の位置を取得し、オブジェクトとして返すfunction getElemPosition(elem) {    var obj = new Object();    obj.x = elem.offsetLeft;    obj.y = elem.offsetTop;    // 親要素を取得して位置情報を修正する    while(elem.offsetParent) {        elem = elem.offsetParent;        obj.x += elem.offsetLeft;        obj.y += elem.offsetTop;    }    return obj;}