Нажимая на кнопку, должен произойти скролл до определенного элемента на странице. Нашел такое:
function ScrollTo(name) {
ScrollToResolver(document.getElementById(name));
}
function ScrollToResolver(elem) {
var jump = parseInt(elem.getBoundingClientRect().top * .2);
document.body.scrollTop += jump;
document.documentElement.scrollTop += jump;
if (!elem.lastjump || elem.lastjump > Math.abs(jump)) {
elem.lastjump = Math.abs(jump);
setTimeout(function() {
ScrollToResolver(elem);
}, "100");
} else {
elem.lastjump = null;
}
}
<button type="submit" onclick="ScrollTo('page-title-not-auth')"></button>
Работает не совсем корректно: Cannot read property 'getBoundingClientRect' of null
Пробовал scrollIntoView, но надо, чтоб элемент, до которго надо доскроллить, оказывался у самого верха страницы.