/* ----------------------------------------------------- スムーズスクロール Ver. 1.0.0 update 2009.5.17 Copyright (C) WEB-JOZU URL:http://www.web-jozu.com/ ----------------------------------------------------- */ /* ---------- 設定領域 start ---------- */ //滑らかさ(最適範囲2〜10) //数値が大きいほど滑らかになりますが遅くなります。 smooth = 10; //速さ(最適範囲70〜10) //数値が小さい程早くなります。 speed = 10; /* ---------- 設定領域 end ---------- */ function scrlWin(){ if(distYY >= 1 || distYY <= -1){ if(distYY > 0){ moveYY = Math.ceil(distYY / smooth); }else{ moveYY = Math.floor(distYY / smooth); } distYY -= moveYY; window.scrollBy(0, -moveYY); clearTimeout(timerId); timerId = setTimeout("scrlWin()", speed); } } function smScroll(ET){ if(document.body.scrollTop){ winYY = document.body.scrollTop; }else{ winYY = document.documentElement.scrollTop; } if(window.innerHeight){ winHH = window.innerHeight; }else if(document.all && document.getElementById && (document.compatMode == 'CSS1Compat')){ winHH = document.documentElement.clientHeight; }else{ winHH = document.body.clientHeight; } linkVal = "" + ET; linkName = linkVal.split("#"); targetEt = document.getElementById(linkName[1]); targetYY = targetEt.offsetTop; distYY = winYY - targetYY; pageHH = document.body.scrollHeight; if(pageHH - targetYY < winHH){ difVal = winHH - (pageHH - targetYY) - 15; distYY += difVal; } timerId = setTimeout("scrlWin()", speed); }