http://storehouse.sakura.ne.jp/sscroll.html function sscroll() { var element = document.getElementById('foo'); var duration = parseInt(document.getElementById('duration').value, 10) var interval = 10; var offset = 0; var length = element.scrollHeight - element.clientHeight var n = Math.ceil(duration / interval); function shift(x) { element.scrollTop = (0.5 - Math.cos(Math.PI * x / n) / 2) * length