2015-04-11 9 views
0

Как установить ширину и высоту DIV на основе другого div?Установите ширину и высоту DIV на основе другого div

Вот как я это сделал, но он работает только тогда, когда присутствует alert?

var readyC = setInterval(function() { 
    if (Condition) { 
    $('#divAA').width($('#divBB').width()).height($('#divBB').height()); 
      //alert($('#divBB').width()) // works when this is uncommented?? 
    } 
    clearInterval(readyC); 
}, 10); 

EDIT:

Исправлена ​​опечатка:

$('#divBB'+i) к $('#divBB')

+0

Как вы привязываете 'i' в этом? – mohamedrias

+0

@mohamedrias: да, это опечатка. Пожалуйста, игнорируйте. Благодарю. – Fergoso

ответ

0

Причина, по которой вы получаете ее, только когда вы держите alert, вы используете setInterval с таким небольшим интервалом 10ms.

Когда вы используете предупреждение, выполнение останавливается, и именно поэтому вы видите размер div. Вы должны увеличить значение interval до более высокого значения.

Также clearInterval не находится внутри блока, поэтому это означает, что таймер будет очищаться при первой попытке. В этом случае вам вообще не нужен setInterval.

Обновления на основе комментариев

Как вы сквозные через список дивы, чтобы обновить высоту других дивов, вы должны использовать функцию самостоятельной вызывающую правильно связать значение I.

+0

ok ... Итак, что вы предлагаете в качестве решения? увеличивая интервал? – Fergoso

+0

Могу ли я узнать, почему вы используете setInterval в этом случае? Но да, увеличение интервала исправит его. Потому что задание высоты и ширины правильное. – mohamedrias

+0

, чтобы выполнить изменение размера после выполнения определенных условий. – Fergoso

0

Если содержание ваших дивы загружаются динамически, то вам нужно будет использовать событие window.load для получить правильную высоту, как описано здесь: https://stackoverflow.com/a/13071846/1845408

$(window).load(function() { 
    $('#divAA').width($('#divBB').width()).height($('#divBB').height()); 
}); 
Смежные вопросы