Задать вопрос

Как при наличии скролла у элемента, убрать основной?

Необходимо, чтобы при наличии скролла у элемента и после наведения на него, пропадал скролл у body.
в JS не силён, но постарался написать, следующий код (не получается проверить наличие скролла у элемента):
$(document).ready(function(){
if ($('.content-item__table').scrollHeight() > $('.content-item__table').height()) {
      $('.content-item__table').hover(
        function() {
          $('body').addClass('body-scroll');
          $('.header-content').css('padding-right','17px');
          $('.header-menu').css('padding-right','17px');
        }, function() {
          $('body').removeClass('body-scroll');
          $('.header-content').css('padding-right','0');
          $('.header-menu').css('padding-right','0');
      }
  )
}
});
  • Вопрос задан
  • 111 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
multiscripter
@multiscripter
Скролл у некоторого элемента появляется когда у его родителя фиксированная высота и она меньше, чем у дочернего. То есть что-то типа:
$('.content-item__table').on('mouseenter', function() {
    if ($(this).height() > $(this).parent().height())
        $('body').addClass('noscroll');
}).on('mouseleave', function() {
    $('body').removeClass('noscroll');
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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