Обнаружение того, входит ли переполнение в элемент - PullRequest
2 голосов
/ 27 ноября 2010

У меня есть div, это будет определенная фиксированная высота. Скажи 500px. Обычно он будет иметь блоки контента длиннее 500 пикселей и использовать переполнение: auto; полоса прокрутки появится в элементе. Однако в некоторых случаях это не так, и дизайн выглядит шатким (полоса прокрутки здесь действительно является элементом дизайна).

Разметка может выглядеть так:

<div class="col2">
  ...
</div>

Когда .col2 имеет переполненные элементы (то есть полосу прокрутки), я хочу ничего не делать, когда этого нет, я хочу добавить другой класс (что-то с рамкой), может быть .border.

Просто не знаете, как это сделать? Предпочтительно с jQuery, поскольку эта библиотека уже используется. Буду очень признателен за любую помощь!

1 Ответ

1 голос
/ 27 ноября 2010

Это должно помочь вам ... В основном, создавать функции, которые сообщают вам погоду или нет, у div будет полоса прокрутки. (вертикальный или горизонтальный)

$.fn.hasVerticalScrollBar = function () {
  if (this[0].clientHeight < this[0].scrollHeight) {
    return true
  } else {
    return false
  }
} 

$.fn.hasHorizontalScrollBar = function() {
  if (this[0].clientWidth < this[0].scrollWidth) {
    return true
  } else {
    return false
  }
} 

Использование

alert($('#mydivid').hasHorizontalScrollBar());
alert($('#mydivid').hasVerticalScrollBar());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...