jQuery: когда запрашивать новую внешнюю высоту после изменения CSS?
Если я сделаю
var theHeight;
element.css('min-height', h);
theHeight = element.outerHeight();
в Chrome я получаю старую внешнюю высоту.
я должен сделать
var theHeight;
element.css('min-height', h);
setTimeout(function() {
theHeight = element.outerHeight();
}, 1);
вместо этого (или, конечно, все, что производит аналогичный эффект), чтобы сделать outerHeight
сообщить "правильную" высоту (которая, как я ожидаю, будет постоянной реальной высотой, которую мы можем увидеть после изменения min-height
).
К несчастью, setTimeout
это не вариант для меня. Что я могу использовать вместо этого? Он должен работать во всех основных браузерах (текущие версии).
1 ответ
setTimeout НЕ ваш лучший вариант.
То, что вы хотите сделать, это применить некоторые JavaScript после загрузки DOM (CSS применяется до document.ready).
Вы можете легко сделать с JQuery.
$(document).ready(function(){
modifySomeDomElement();
});
Надеюсь, это поможет,
Rhys