2012-06-08 3 views
7

Можно создать дубликат:
Detecting presence of a scroll bar in a DIV using jQuery?Detect, если DIV есть полоса прокрутки, или не

Существует разметки, как показано ниже,

<div class="content">Lorem</div> 
<div class="content">Lorem Iorem Lorem Iorem Lorem Iorem Lorem Iorem Lorem IoremLorem Iorem Lorem Iorem Lorem Iorem</div> 
<div class="content">Lorem</div> 
<div class="content">Lorem</div> 

Если содержимое имеет полосу прокрутки, а затем он должен добавить класс к этому div, как «scroll-image».

Высота может отличаться для DIV. Любое решение jQuery для этого.

+0

Может проверить, если текущая высоту больше, чем начинать высоту? – silentw

ответ

26
(function($) { 
    $.fn.hasScrollBar = function() { 
     return this.get(0).scrollHeight > this.height(); 
    } 
})(jQuery); 

$('#my_div1').hasScrollBar(); // returns true if there's a `vertical` scrollbar, false otherwise.. 

Взятые из How can I check if a scrollbar is visible?

+2

У вас есть репутация, почему нет прямой цитаты? – Esailija

6

Вам нужно сравнить scrollHeight с height элемента, как это:

$('.content').each(function(){ 
    if ($(this)[0].scrollHeight > $(this).height()) { 
    $(this).addClass('scroll-image'); 
    } 
}); 
+1

У вас есть репутация, почему нет близкого взгляда? – Esailija

+0

@Esailija: Написал ответ, не видел :) сделал – Sarfraz

Смежные вопросы