2011-01-31 3 views
0

Я имею дело с некоторыми модалами, которые открываются в iframe (тот же домен, поэтому никаких проблем xss). Один из модалов, которые я либо скрываю, либо показывает варианты, основанные на вещах, которые вы делаете, которые вырастают или сжимают форму. Во всяком случае, длинный рассказ короче, у меня есть код, который обрабатывает изменение размера iframe на основе текущей высоты/ширины тела при активной нагрузке. Проблема в том, что я не уверен, какое событие нужно использовать, чтобы определить, что фактический размер тела изменился после начальной загрузки.Определите, когда изменяется фактическая ширина/высота элемента.

+0

Для этого события не предусмотрены. Может потребоваться опрос и измерение элемента body, для более новых браузеров вы можете проверить событие DOMSubtreeModified и посмотреть, изменились ли измерения. –

ответ

0

Почему бы не добавить setInterval()? Что-то вроде:

var originalWidth = {set original width} 
var originalHeight = {set original height}; 
setInterval(function(){ 
    var currentWidth = {grab new values}; 
    var currentHeight = {grab new values}; 
    if(originalWidth !== currentWidth){ 
     //Change the width now... 
     //Next, set originalWidth to be the same as current for future checks 
     originalWidth = currentWidth; 
    } 
    //Now, do the same for original and current height 
},100) 
+0

Почему бы и нет? Потому что это уродливо! Может оказаться единственным решением, хотя –

+0

Ну, вы могли бы попытаться сделать его более чистым с чем-то вроде: 'var originalDimensions = [x, y]' и 'var currentDimensions = [x, y]' –

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