Как проверить высоту div, чтобы переставить блоки div
Я использую jQuery Masonry на своем сайте для отображения сообщений в блоге. И в каждом блоке постов есть поле для комментариев Facebook. Когда появляется новый комментарий, контейнерный блок расширяется и, к сожалению, перекрывается с нижним. В этом случае мне нужно повторно запустить скрипт Masonry для перезагрузки блоков.
Поэтому я использую плагин Jquery Resize Event от Ben Alman, чтобы проверить изменение высоты div, чтобы сценарий Masonry перемещал блок в соответствии с его новым размером и избегал наложений.
Хотя он не работает и, кажется, нет ошибок, когда я проверяю его с помощью firebug. Я новичок в Jquery, и я надеюсь, что я просто делаю здесь простую ошибку.
Если вы хотите взглянуть на это, пожалуйста, проверьте bjk-tribun.com. Вы увидите наложение при вводе некоторых комментариев в поле для комментариев.
$(function(){
// Bind the resize event. When any test element's size changes, update its
// corresponding info div.
var iframe = $(".fb_iframe_widget");
// Called once the Iframe's content is loaded.
iframe.load(function(){
// The Iframe's child page BODY element.
var iframe_content = iframe.contents().find('body');
// Bind the resize event. When the iframe's size changes, update its height as
// well as the corresponding info div.
iframe_content.resize(function(){
var elem = $(this);
// Resize the IFrame.
iframe.css({ height: elem.outerHeight( true ) });
$('#sort').masonry(reloadItems);
// Resize the Iframe and update the info div immediately.
iframe_content.resize();
});
});
2 ответа
В зависимости от того, какую версию jQuery вы используете, вам может потребоваться добавить модуль px в свойстве css:
iframe.css({ height: elem.outerHeight( true ) + "px" });
Хорошо, я не знаю почему, но как только я отключил colorbox.js, который был плагином лайтбокса, плагин Jquery Masonry начал реагировать на div resize. Так что, если кто-то сталкивается с той же проблемой, он должен сначала попытаться отключить другие плагины jquery, чтобы не тратить целую неделю на этот вопрос.
Я также отключил плагин Бена Алмана, который вставил выше. Масонства достаточно для обработки события изменения размера.