在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML5  Linux  HTML/ 如何知道一次瀏覽器渲染布局(layout)已經(jīng)結(jié)束?

如何知道一次瀏覽器渲染布局(layout)已經(jīng)結(jié)束?

我們公司是做在線閱讀器的,其中使用到了column的形式展示數(shù)據(jù)。
我在一個(gè)container div上寫(xiě)好了各種column的css定義。
然后在特定的時(shí)候,要從后臺(tái)拿到真正的圖書(shū)內(nèi)容,加到container里面,同時(shí)還需要顯示一下目前內(nèi)容實(shí)際分成了多少頁(yè)。

現(xiàn)在的問(wèn)題是,因?yàn)闉g覽器布局有一個(gè)時(shí)間差,所以我們的JS獲取的實(shí)際內(nèi)容寬度,發(fā)生了抖動(dòng),尤其是當(dāng)存在圖片時(shí)。

示例代碼如下:

$('#container').append(newContent); // newContent是從后臺(tái)拿到的數(shù)據(jù),已經(jīng)轉(zhuǎn)為一個(gè)普通的div
$('#container').width();   //我們需要獲取到寬度值,然后經(jīng)過(guò)一系列計(jì)算,可以算出新的內(nèi)容一共分了多少頁(yè)

問(wèn)題是,馬上執(zhí)行上述代碼,可能獲得的寬度值是不準(zhǔn)確的,需要等一會(huì)兒再獲取,才是準(zhǔn)確的。
可是,因?yàn)槲覀儾恢纍ewContent的可能長(zhǎng)度是多少,也就沒(méi)法預(yù)估一個(gè)比較合適的延遲值。最好是能找到一個(gè)類似于document.ready這樣的方法,可以用來(lái)判定某次修改已經(jīng)layout完成,從而可以獲取到準(zhǔn)確的數(shù)值。

請(qǐng)問(wèn),有這樣的回調(diào)方法嗎?或者有什么方法可以實(shí)現(xiàn)“抓住準(zhǔn)確的layout完成時(shí)點(diǎn)”?

多謝各位大俠

回答
編輯回答
陪我終

append是同步方法, 保證 newContent 內(nèi)容不出現(xiàn)替換元素, 或者定死替換元素寬度. 就能拿到總體寬度吧

2017年10月9日 16:42
編輯回答
護(hù)她命

看看這篇回答能不能幫助你
http://stackmirror.caup.cn/pa...

2017年10月27日 07:10
編輯回答
枕邊人

馬上獲取是不可能獲取到的,原因我在另一個(gè)問(wèn)題里寫(xiě)了,這里不重復(fù)了。

理論上說(shuō),你這里只要 setTimeout 到下一個(gè)時(shí)間周期就能取到。

2017年9月29日 05:52
編輯回答
我甘愿
setTimeout(function() {
    $('#container').width(); 
})
2017年3月8日 16:38