Как найти элемент, который можно скролить?

Например, страница на гугл картах
Тут можно скролить отзывы. Нужно найти элемент div который скролит отзывы. Как осуществить поиск на javascript? Я так понимаю надо отталкиваться от того, что элемент будет иметь css свойство overflow-y: auto; ?
  • Вопрос задан
  • 136 просмотров
Решения вопроса 1
function isScrollable(element) {
return element.scrollWidth > element.clientWidth || element.scrollHeight > element.clientHeight;
};

isScrollable(document.body);

взято отсюда https://stackoverflow.com/questions/29956338/how-t... , по необходимости добавить проверки значений свойств overflow и overflowY через getComputedStyle()
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
imko
@imko
Senior Scratch Developer
Ты положишь браузер если у всех элементов спросишь стили и попытаешься найти там overflow
Плюс прокрутка может быть реализована НЕ через overflow а каким-нибудь плагином который просто transform у элемента меняет
Первая проблема более менее обходится сравниванием высоты элемента со scrollHeight, на второй это не сработает.
В общем адекватного способа достоверно найти элементы с прокруткой не вижу(
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы