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

快速解決js動態(tài)改變dom元素屬性后頁面及時渲染的問題

 更新時間:2016年07月06日 09:46:09   投稿:jingxian  
下面小編就為大家?guī)硪黄焖俳鉀Qjs動態(tài)改變dom元素屬性后頁面及時渲染的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

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

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

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

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

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

但是你會看到文件一個個下載下來,但進(jìn)度始終沒有動一動。這是因為js邏輯會優(yōu)先執(zhí)行,而頁面渲染會在js執(zhí)行結(jié)束后才進(jìn)行的,這樣就無法看到一個正常的進(jìn)度條了。

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

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);

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

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

相關(guān)文章

最新評論

湛江市| 昌江| 柘荣县| 阿荣旗| 济阳县| 马龙县| 伊春市| 贺州市| 麟游县| 光山县| 遂宁市| 科技| 安国市| 扎兰屯市| 衡阳县| 绥宁县| 沅陵县| 瑞丽市| 平定县| 四子王旗| 大冶市| 武汉市| 叙永县| 左权县| 富宁县| 马关县| 潼南县| 冷水江市| 揭东县| 丹阳市| 威宁| 大渡口区| 资溪县| 鸡泽县| 佛冈县| 上杭县| 冀州市| 田东县| 北辰区| 沾益县| 珲春市|