Как исправить скрол страницы при клике на таб?
У меня есть блок с элементами где есть табы кликая по которым переключается контент по категориям.
Табы стоят стики в блоке.
Но допустим если с самого начала выбран таб "All", где все элементы, то проскролив вниз и нажав допустим на "Blue"(там где меньше элементов), то кинет вниз.
Нужно как-то это исправить чтобы при изменении таба возвращало наверх всегда. Как это можно грамотно сделать?
Соурс
Дополнительно:
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для исправления проблемы с прокруткой страницы при клике на таб, вам нужно добавить обработчик событий JavaScript, который будет предотвращать стандартное поведение по умолчанию при клике на таб и вместо этого будет плавно прокручивать страницу к соответствующему контенту таба.
Ниже приведен пример кода, который реализует данное поведение:
document.addEventListener('DOMContentLoaded', function() { var tabs = document.querySelectorAll('.tab'); tabs.forEach(function(tab) { tab.addEventListener('click', function(event) { event.preventDefault(); var target = this.getAttribute('data-target'); var targetElement = document.getElementById(target); if (targetElement) { var yOffset = targetElement.getBoundingClientRect().top + window.pageYOffset; window.scrollTo({ top: yOffset, behavior: 'smooth' }); } }); }); });
В этом коде мы добавляем обработчик событий к каждому элементу таба с классом 'tab'. При клике на таб, мы получаем значение атрибута 'data-target', который содержит идентификатор элемента, к которому нужно прокрутить страницу. Затем мы находим этот элемент с помощью метода document.getElementById и используем метод window.scrollTo для плавной прокрутки страницы к этому элементу.
Не забудьте добавить класс 'tab' к вашим табам и атрибут 'data-target' с идентификатором соответствующего контента.
Надеюсь, данное решение поможет вам исправить проблему с прокруткой страницы при клике на таб. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их.