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

有很长很长的一段html字符串,然后我把它渲染到div中,然后去取这个div的宽度,总是在没渲染完,就去获取宽度了,这样得到的宽度不准确,怎么办?
有什么解决思路?

熠熠生阳
浏览 1169回答 3
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);

熠熠生阳

添加定时器,在定时器里加入应用逻辑.这样可以在 div 渲染完拿到最后渲染完的宽度.因为定时器是在其他逻辑处理完才调用的,解决了这个问题.

killua0083

使用 jquery 的  $(document).ready( function(){  // 执行操作 }  );可以让整个文档加载完再去进行获取宽度的操作
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript