JavaScript (HTML5): Scroll To Top

jQuery つかう版

$('html,body').animate({scrollTop:0}, 'fast');

 

jQuery 使わない版 [スコープはお好きに]

document.addEventListener('DOMContentLoaded', function(e) {
    var gotoTop = document.getElementById('gotoTop');
    function scrollTo(element, to, duration) {
      if (duration < 0) return;
      var difference = to - element.scrollTop;
      var perTick = difference / duration * 10;
     
      setTimeout(function() {
        element.scrollTop = element.scrollTop + perTick;
        if (element.scrollTop === to) return;
        scrollTo(element, to, duration - 10);
      }, 10);
    }
    gotoTop.onclick = function(e) {
        e.preventDefault();
        scrollTo(document.body, 0, 100);
    };
}, false);

 

※ちなみに CSS で html と body が height: 100% とかになってると詰む