Остановить действие прокрутки по нажатию клавиши

Мне нужна кнопка, при нажатии на которую страница плавно прокручивается до 4000 пикселей. Но я также хочу, чтобы эта прокрутка останавливалась, когда пользователь нажимает ESC.

Вот мой код:

$('#scroll-fast').on('click', function() {
    $('html,body').animate({scrollTop: 4000 }, 160000);
});

$(document).keyup(function(e) {
    if (e.keyCode == 27) { 
         $('html,body').stop(true);
    }
});

Проблема №1) Движение прокрутки неравномерно: сначала медленно, а потом ускоряется.

Проблема № 2) Я не могу найти способ остановить его, нажав ESC.

Любая помощь?


person Alberto Moneti    schedule 06.10.2017    source источник
comment
Ссылаясь на способ остановки при нажатии ESC, взгляните на этот пост, возможно, вы найдете полезным: stackoverflow.com/questions/18522864/   -  person Kalamarico    schedule 07.10.2017
comment
Что касается равномерного движения, взгляните на это и найдите линейную строку: api.jquery.com/animate ты должен сделать то же самое   -  person Kalamarico    schedule 07.10.2017