Я испытываю странное поведение в Firefox 75 со следующим кодом:
HTML:
<html>
<body>
<div>
Lorem ipsum dolor sit amet consectetur adipiscing elit sociis vivamus euismod, netus arcu pulvinar egestas cras commodo fames dui nostra tortor quam, class duis sagittis fusce pellentesque conubia ornare venenatis hac. Quis pretium nulla ad nisi aliquam euismod nunc, consequat fermentum sociis eros felis tempus, tortor a risus dignissim fusce facilisis. Fermentum erat eget libero tellus semper gravida enim rhoncus, placerat natoque mauris sollicitudin class eros tincidunt augue volutpat, penatibus vel interdum nunc cubilia taciti dictumst.
...
(the rest is omitted for brevity)
</div>
<a rel="nofollow" href="#" class="scroll-to-top-link">
Go to top link
</a>
<button class="scroll-to-top-button">
Go to top button
</button>
</body>
</html>
JS:
( function() {
'use strict';
// Feature Test
if ( 'querySelector' in document && 'addEventListener' in window ) {
var goTopBtnLink = document.querySelector( '.scroll-to-top-link' );
var goTopBtnButton = document.querySelector( '.scroll-to-top-button' );
var nativeSmoothScroll = function () {
window.scroll({
top: 0,
left: 0,
behavior: 'smooth'
});
};
goTopBtnLink.addEventListener( 'click', function( e ) {
e.preventDefault();
nativeSmoothScroll();
});
goTopBtnButton.addEventListener( 'click', function( e ) {
nativeSmoothScroll();
});
}
} )();
На странице есть ссылка прокрутки вверх и кнопка прокрутки вверх внизу. Если я нажму на ссылку, страница плавно переместится наверх. Когда я нажимаю кнопку тоже, но только в первый раз. В последующее время страница прокручивается слишком быстро, игнорируя параметр behavior: 'smooth'
.
Я поместил весь код на скрипку:
https://jsfiddle.net/mf4rz8hj/9/
Chrome не показывает это поведение. Есть идеи?