Замедленное прокручивание до верхнего события с помощью jQuery animate

Я хочу, чтобы моя страница попадала на верх, когда нажимается определенный якорь.

Вот как я пытался это сделать, но он не работает, он очень быстро прокручивается.

 $('a[href=#top]').click(function () {
        $('body').animate({
                scrollTop: 0
        },
        50);
});

Я хочу замедлить его.

Ответ 1

$('a[href=#top]').click(function(){
    $('html, body').animate({scrollTop:0}, 'slow');
});

Может быть,?

Ответ 2

Когда вы передаете 50 в качестве второго параметра для анимации, то есть 50 миллисекунд. См. Документацию animate. Либо пропустите большее число, либо, как предложили c0mrade, просто передайте "slow".

Ответ 3

вы можете установить время для прокрутки вверх

$('a[href=#top]').click(function(){
 $('body').animate({
     scrollTop: 0},4000);});

Ответ 4

$('a[href=\\#top]').click(function(){
  $('body').animate(
    {
      scrollTop: 0
    }, 
    2000
  );
});

# следует экранировать\\#.