var timer = null; var init = false; var top_limit = 0; var btn_height = 96; function move_gotop() { if(!init){ init = true; init_pos(); } var _body = document.documentElement || document.body; var nowtop = eval(document.getElementById("btn_top").style.top.replace("px","")); var scrollY = _body.scrollTop || _body.scrollTop; scrollY += _body.clientHeight / 2; var vector = (scrollY - nowtop) / 10; if(scrollY > nowtop && vector < 2){ vector = 2; }else if(scrollY < nowtop && vector > -2){ vector = -2; } var newtop = nowtop+vector; if((scrollY >= nowtop && newtop >= scrollY)||(scrollY <= nowtop && newtop <= scrollY)){ newtop = scrollY; clearTimeout(timer); timer = null; }else{ timer = setTimeout("move_gotop()",1); } if(newtop < top_limit){ newtop = top_limit; } document.getElementById("btn_top").style.top = newtop+"px"; } function set_gotop() { if(!timer){ timer = setTimeout("move_gotop()",1); } } function init_pos() { var elem = document.getElementById("plan01"); var _width = elem.offsetWidth; var _left = 0; var _top = 0; do{ _left += elem.offsetLeft; _top += elem.offsetTop; elem = elem.offsetParent; }while(elem); top_limit = _top+10; document.getElementById("btn_top").style.left = _left+_width-53+"px"; document.getElementById("btn_top").style.top = _top+"px"; document.getElementById("btn_top").style.display = "block"; } function init_left() { var elem = document.getElementById("plan01"); var _width = elem.offsetWidth; var _left = 0; do{ _left += elem.offsetLeft; elem = elem.offsetParent; }while(elem); document.getElementById("btn_top").style.left = _left+_width-53+"px"; } if(window.attachEvent){ window.attachEvent("onload",move_gotop); window.attachEvent("onresize",init_left); window.attachEvent("onscroll",set_gotop); }else if(window.addEventListener){ window.addEventListener("load",move_gotop,false); window.addEventListener("resize",init_left,false); window.addEventListener("scroll",set_gotop,false); }