У меня есть список объектов и согласно критерии, это получает класс с помощью jQuery на document.ready, который инициировал столбцы CSS3.
Если бы список отображен в столбцах, он имел бы меньшую высоту. Там какой-либо путь состоит в том, чтобы получить новую высоту в jQuery сразу после изменения класса?
$items.each(function(i){
var theItem = this;
console.log($(theItem).height());
//extended layout
if ( theCriteria ) {
$(theItem).addClass('extended');
console.log('after', $(theItem).height()); }
}
Код выше возвращает начальную высоту на обоих вызовах. Я предполагаю, что должен инициировать что-то еще.
] Во многих случаях манипуляции с домом не происходят до тех пор, пока не завершено закрытие функции. [
] [] Хорошая статья по этому вопросу: []http://www.quirksmode.org/blog/archives/2009/08/when_to_read_ou.html[][
] [] Может быть, лучше сделать вызов функции [] setTimeout[
] вместо прямого журнала. [
] вместо: [
] [console.log('after', $(theItem).height());
]
[] попробуй [
] [setTimeout(function(){ console.log('after', $(theItem).height()); }, 0);
]
[]Установка тайм-аута на []0[
] позволит запустить его как можно быстрее, но после текущей функции. [
] Надеюсь, это твоя проблема. Удачи. [
]