最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

快速解決js動(dòng)態(tài)改變dom元素屬性后頁(yè)面及時(shí)渲染的問(wèn)題

 更新時(shí)間:2016年07月06日 09:46:09   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇快速解決js動(dòng)態(tài)改變dom元素屬性后頁(yè)面及時(shí)渲染的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

今天實(shí)現(xiàn)一個(gè)進(jìn)度條加載過(guò)程,dom結(jié)構(gòu)其實(shí)就是兩個(gè)div

<div class="pbar">
 <div class="ui-widget-header" id="percent_bar" style="width: 23%;"></div>
 </div>

控制里層div的寬width屬性,就能實(shí)現(xiàn)進(jìn)度條往前走的效果。

我的進(jìn)度條是顯示下載文件的進(jìn)度,簡(jiǎn)單實(shí)現(xiàn)一共100個(gè)文件的話,下載一個(gè)就1%,下載了20個(gè)就走到20%。于是代碼實(shí)現(xiàn)如下:

var fileCount=fileList.length();
 fileList.foreach(function(i,obj){
   ........//下載文件
  document.getElementById("percent_bar").style.width=i/fileCount*100 + "%";//改變內(nèi)層div的寬度
 })

但是你會(huì)看到文件一個(gè)個(gè)下載下來(lái),但進(jìn)度始終沒(méi)有動(dòng)一動(dòng)。這是因?yàn)閖s邏輯會(huì)優(yōu)先執(zhí)行,而頁(yè)面渲染會(huì)在js執(zhí)行結(jié)束后才進(jìn)行的,這樣就無(wú)法看到一個(gè)正常的進(jìn)度條了。

怎么能讓js邏輯執(zhí)行等一等頁(yè)面渲染呢?

var i=0;
var fileCount=fileList.length();
var loop = function () {
 if(i>fileCount)//退出循環(huán)
  return;
  .....//下載文件
  i++;
  document.getElementById("percent_bar").style.width=i/fileCount*100+"%";
   //下一步循環(huán)  that.loopId = window.setTimeout(loop, 0);7 }
that.loopId = window.setTimeout(loop, 0);

通過(guò)settimeout函數(shù)可以實(shí)現(xiàn)進(jìn)度條動(dòng)態(tài)效果了。

以上這篇快速解決js動(dòng)態(tài)改變dom元素屬性后頁(yè)面及時(shí)渲染的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

兴山县| 富顺县| 两当县| 阳曲县| 宜兰县| 牙克石市| 沈阳市| 高唐县| 洛扎县| 德钦县| 抚顺县| 满洲里市| 遂宁市| 彭水| 阜阳市| 共和县| 凌云县| 余江县| 广元市| 临泉县| 连云港市| 天镇县| 老河口市| 巫山县| 安陆市| 吴桥县| 安溪县| 中山市| 邻水| 高州市| 兰溪市| 运城市| 抚松县| 临城县| 东辽县| 清流县| 涿鹿县| 宜兴市| 阿荣旗| 余江县| 九龙坡区|