Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Vest сказал(а): просто мне кажется, что добавление айфрейма без источника в каждый нужный элеменет, это как-то накладно.Во первых: вряд ли есть необходимость cтавить на каждый элемент, правильнее тогда уж на весь window однократно. Во вторых — типичное решение: это таймирование в реальном масштабе, это интервал опроса размеров не более 200ms. Однократная установка iframe или же бесконечный опрос по таймеру? (считаем пока для единичного экземпляра)
так вот бета Файерфокс выстрелил алерт два раза,
<div id="Test" style="position:relative;border:red solid 1px;width:200px;height:100px;">
<iframe name="frame" width=100% height=100% style="position:absolute;z-index:-1"></iframe>
Тут контент ...
</div>
<script type="text/javascript">
var timerResize='first';
if(timerResize=='first')setTimeout('clearTimeout(timerResize)',20);
frame.onresize = function(){
clearTimeout(timerResize);
timerResize=setTimeout( function(){ alert('Размеры div #Test изменены.')},20)
}
setTimeout(function(){ //Тестовое изменение размера через 3сек.
document.getElementById("Test").style.width='100px';
},3000);
</script>
Vest сказал(а): Предположим, вы загрузили контент динамически, проверили размер элемента и выстрелили бы событие один раз.Это тоже можно сделать двояко:
я не говорил про таймер. в том-то и дело, вы если контроллируете страницу можете узнать когда вам необходимо проверить кусок ДОМа на ресайз. Предположим, вы загрузили контент динамически, проверили размер элемента и выстрелили бы событие один раз.
Это отличный вариант при заранее известном ограниченном кол-ве Аякс-подгрузок.Approved_by_Biolanteнаписал(а):Легко — я процитирую комментарий:… вы если контроллируете страницу можете узнать когда вам необходимо проверить кусок ДОМа на ресайз. Предположим, вы загрузили контент динамически, проверили размер элемента и выстрелили бы событие один раз.
demimurych написал(а): практический пример, где нужно контролировать «onresize» на элементе
mank_devно: и вследствие изменения размеровТут с подобной необходимостью можно столкнуться и при масштабировании окна браузера колёсиком мыши, хотя масштаб можно отследить и по window.onresize окна браузера.
window.onresize = func; // при изменении размеров браузера
window.onload = func; // при загрузке страницы
Отслеживаем «onresize» на элементе