У меня есть функция плавной прокрутки, которая отлично работает в Chrome и Safari, но не будет играть в мяч в Firefox, потому что она звонит document.body.scrollTop
.JavaScript только плавная прокрутка по обозревателям
function smoothScroll(body, destination, duration) {
duration = (typeof duration != "undefined")
? duration
: 500;
if (duration <= 0) return;
var difference = destination - body.scrollTop;
var perTick = difference/duration * 10;
setTimeout(function() {
body.scrollTop = body.scrollTop + perTick;
if (body.scrollTop === destination) {
showAndHideNav("hide");
return;
}
smoothScroll(body, destination, duration - 10);
}, 10);
}
function findDestination(element) {
var value = element.getAttribute("value"),
destination = document.getElementById(value).offsetTop;
return destination;
}
smoothScroll(document.body, findDestination(element));
Я попытался заменить scrollTop
с pageYOffset
, который определяет правильные местоположения, но не прокручивать в этих местах.
Может ли кто-нибудь порекомендовать более дружественную браузеру альтернативу scrollTop
, которая позволит плавно прокручивать браузеры?
Благодарим за помощь!
Try 'окно .scrollTop'. [SO] (http://stackoverflow.com/a/17776759/1086525) – Whothehellisthat