Если у вас возникли проблемы, пожалуйста, дайте мне знать, отправив электронное письмо на evgeniy@y-ea.ru. Спасибо!
День добрый! Меня зовут Евгений. Я IT специалист и web - разработчик.
Email: evgeniy@y-ea.ru
Яловой Евгений
Россия, Краснодар
Для плавного скролла к определенному блоку на другой странице с использованием JavaScript, вы можете использовать следующий код:
window.addEventListener('load', function() {
const windowHash = window.location.hash;
if (windowHash) {
// Удаляем символ '#' из хеша
const blockId = windowHash.substring(1);
const curBlock = document.getElementById(blockId);
if (curBlock) {
// Вычисляем позицию элемента относительно верхней границы документа
const topOffset = curBlock.offsetTop;
// Используем window.scrollTo для плавного скролла к элементу
window.scrollTo({
top: topOffset,
behavior: 'smooth'
});
}
}
});
Этот код использует addEventListener для отслеживания события load окна браузера, чтобы гарантировать, что код будет выполнен после полной загрузки страницы. Затем он извлекает хеш из URL, удаляет символ # и ищет элемент по полученному идентификатору. Если элемент найден, он вычисляет его позицию относительно верхней границы документа и использует window.scrollTo для плавного скролла к этой позиции.
Обратите внимание, что здесь const используется для переменных, которые не будут изменяться после их инициализации, а let может быть использован, если вы планируете изменять значение переменной после инициализации.
Для тех кому интересно, вот плавный скролл к нужному блоку на jQuery, код ниже:
$(window).on('load', function() {
var windowHash = window.location.hash;
if (windowHash) {
// Удаляем символ '#' из хеша
var blockId = windowHash.substring(1);
var curBlock = document.getElementById(blockId);
if (curBlock) {
// Используем jQuery для плавного скролла к блоку
$('html, body').animate({
scrollTop: $(curBlock).offset().top
}, 500);
}
}
});
Модифицируёте код под вашу задачу и у Вас всё получится ![]()
Новый комментарий