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

关于重绘,重排的问题,如何拿到渲染完成的事件?

关于重绘,重排的问题,如何拿到渲染完成的事件?

熠熠生阳 2018-04-04 10:33:08
有很长很长的一段html字符串,然后我把它渲染到div中,然后去取这个div的宽度,总是在没渲染完,就去获取宽度了,这样得到的宽度不准确,怎么办?有什么解决思路?
查看完整描述

3 回答

?
熠熠生阳

TA贡献11条经验 获得超3个赞

var html = [];
for (var i = 0; i < 100000; i++) {
    html.push('<span>' + i + '</span>');
}
$('#example').html(html.join(' '));
setTimeout(function() {
    var width = $('#example').text().length;
    console.log(width);
}, 0);


查看完整回答
反对 回复 2018-04-16
?
熠熠生阳

TA贡献11条经验 获得超3个赞

添加定时器,在定时器里加入应用逻辑.

这样可以在 div 渲染完拿到最后渲染完的宽度.

因为定时器是在其他逻辑处理完才调用的,解决了这个问题.

查看完整回答
反对 回复 2018-04-16
?
killua0083

TA贡献23条经验 获得超16个赞

使用 jquery 的  

$(document).ready( function(){ 
// 执行操作

}  );

可以让整个文档加载完再去进行获取宽度的操作

查看完整回答
反对 回复 2018-04-04
  • 3 回答
  • 0 关注
  • 1168 浏览
慕课专栏
更多

添加回答

举报

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