jQueryでページ内リンクへスムーズにスクロールする方法

いつも忘れるのでメモ。

$("a[href^='#']").click(function(e) {
    e.preventDefault();
    var href= $(this).attr("href");
    var target = $(href == "#" || href == "" ? 'html' : href);
    var position = target.offset().top;
    $('body,html').stop().animate({scrollTop:position}, 400);
});