快速解决js动态改变dom元素属性后页面及时渲染的
网络编程 2021-07-04 19:59www.168986.cn编程入门
狼蚁网站SEO优化长沙网络推广就为大家带来一篇快速解决js动态改变dom元素属性后页面及时渲染的问题。长沙网络推广觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随长沙网络推广过来看看吧
今天实现一个进度条加载过程,dom结构其实就是两个div
<div class="pbar"> <div class="ui-widget-header" id="percent_bar" style="width: 23%;"></div> </div>
控制里层div的宽width属性,就能实现进度条往前走的效果。
我的进度条是显示下载文件的进度,简单实现一共100个文件的话,下载一个就1%,下载了20个就走到20%。于是代码实现如下:
var fileCount=fileList.length(); fileList.foreach(function(i,obj){ ........//下载文件 document.getElementById("percent_bar").style.width=i/fileCount*100 + "%";//改变内层div的宽度 })
但是你会看到文件一个个下载下来,但进度始终没有动一动。这是因为js逻辑会优先执行,而页面渲染会在js执行结束后才进行的,这样就无法看到一个正常的进度条了。
怎么能让js逻辑执行等一等页面渲染呢?
var i=0; var fileCount=fileList.length(); var loop = function () { if(i>fileCount)//退出循环 return; .....//下载文件 i++; document.getElementById("percent_bar").style.width=i/fileCount*100+"%"; //下一步循环 that.loopId = window.setTimeout(loop, 0);7 } that.loopId = window.setTimeout(loop, 0);
通过settimeout函数可以实现进度条动态效果了。
以上这篇快速解决js动态改变dom元素属性后页面及时渲染的问题就是长沙网络推广分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持狼蚁SEO。
编程语言
- 机械手焊接机器人编程 机械手焊接设备编程
- vb数据库编程实例,vb做数据库
- tiobe世界编程语言排行榜,全球编程语言排行
- 成都java编程培训 成都it编程培训中心
- 编程基础培训,编程基础知识培训
- flash游戏编程基础教程,flash游戏开发教程
- 不会英语能学编程吗 不会英语可以学程序员吗
- 爱心代码编程C语言 爱心代码编程c语言公式
- c语言编程学习入门 c语言编程快速入门
- 西门子plc编程培训 西门子plc编程培训班
- 哪里可以学编程 台州哪里可以学编程
- 少儿编程哪个好 少儿编程哪个品牌好
- 编程是什么意思,图形编程是什么意思
- c语言编程软件下载,c语言编程软件在哪下载
- java编程软件下载,java编程下载手机版
- ug编程培训学校,ug编程培训教程