Как обнаружить переполнение div в группе одинаковых классов div с использованием JavaScript (и jquery)? - PullRequest
0 голосов
/ 19 июля 2011

У меня есть 31 div с тем же классом ".cal".Есть ли способ обнаружить каждый div, и если один (или многие другие) div имеют переполнение, браузер автоматически добавляет html-контент, напоминающий пользователям, что этот div переполнен?

Ответы [ 2 ]

1 голос
/ 19 июля 2011

Я не знаю jQuery, так что вот решение Prototype.Я уверен, что это легко конвертировать в JQuery.Идея состоит в том, чтобы проверить всю высоту содержимого.Если он превышает обрезанную высоту, он считается переполненным.В этом случае мы добавляем класс «overflowError».Возможно, этот класс откроет кнопку «показать больше» через CSS.

$$('.cal').each(
 function(div) {
  div.setStyle({overflow: 'visible'});
  var fullHeight = div.getHeight();
  div.setStyle({overflow: 'hidden'});
  if (div.getHeight() < fullHeight) {
   div.addClassName('overflowError');
  }
 }
);
1 голос
/ 19 июля 2011

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

$(".cal").each(function(i){
    if ($(this).css("overflow") === "hidden") {
        $(this).html("Overflow");
    }
});

РЕДАКТИРОВАТЬ @JoJo объяснил мне, что я упустил из вашего описания. Так что просто поместите внутреннюю обертку в ваш .cal div и получите вместо нее высоту и ширину обертки. Если внутренняя обертка больше чем .cal, то блок переполняется. Подтверждение концепции jsfiddle

...