为了账号安全,请及时绑定邮箱和手机立即绑定

如何知道一次浏览器渲染布局(layout)已经结束?

如何知道一次浏览器渲染布局(layout)已经结束?

精慕HU 2018-09-23 22:27:48
我们公司是做在线阅读器的,其中使用到了column的形式展示数据。我在一个container div上写好了各种column的css定义。然后在特定的时候,要从后台拿到真正的图书内容,加到container里面,同时还需要显示一下目前内容实际分成了多少页。现在的问题是,因为浏览器布局有一个时间差,所以我们的JS获取的实际内容宽度,发生了抖动,尤其是当存在图片时。示例代码如下:$('#container').append(newContent); // newContent是从后台拿到的数据,已经转为一个普通的div$('#container').width();   //我们需要获取到宽度值,然后经过一系列计算,可以算出新的内容一共分了多少页问题是,马上执行上述代码,可能获得的宽度值是不准确的,需要等一会儿再获取,才是准确的。可是,因为我们不知道newContent的可能长度是多少,也就没法预估一个比较合适的延迟值。最好是能找到一个类似于document.ready这样的方法,可以用来判定某次修改已经layout完成,从而可以获取到准确的数值。请问,有这样的回调方法吗?或者有什么方法可以实现“抓住准确的layout完成时点”?多谢各位大侠
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 735 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信