我想,当div的高度达到一定长度的长字符串分割成mutltiple动态的div。下面是我认为应该工作的代码:拆分长串入mutltiple动态的div
$(document).ready(function() {
var arr = longishstring.split(' ');
$('#bookpages').append("<div id='cont'></div>");
elem = $('#cont');
for (i = 0; arr.length > i; i++) {
elem.append(arr[i] + ' ');
if (elem.text().height > 475) {
$('#bookpages').append("<div id='cont" + i + "'></div>");
elem = $('#cont' + i);
elem.append(arr[i] + ' ');
}
}
});
的问题是,它的读取DIV高度为0,而不是更新的高度。我在这里错过了什么?如果我按长度分割,它的工作很好,但这不适合我想要做的事情。
当一个“回流”,会触发浏览器只重新计算页面的布局。这些通常在计算上非常昂贵,所以某些浏览器(特别是Chrome)将等到JS方法执行完毕(或者有异步调用)才能执行回流。正因为如此,div可能不会调整,直到你的函数完成执行。请参阅https://developers.google.com/speed/articles/reflow – Basic 2013-05-10 00:01:33