欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

今天實(shí)現(xiàn)一個(gè)進(jìn)度條加載過程,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è)下載下來,但進(jìn)度始終沒有動(dòng)一動(dòng)。這是因?yàn)閖s邏輯會(huì)優(yōu)先執(zhí)行,而頁(yè)面渲染會(huì)在js執(zhí)行結(jié)束后才進(jìn)行的,這樣就無法看到一個(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);

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

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

相關(guān)文章

  • JS端基于download.js實(shí)現(xiàn)圖片、視頻時(shí)直接下載而不是打開預(yù)覽

    JS端基于download.js實(shí)現(xiàn)圖片、視頻時(shí)直接下載而不是打開預(yù)覽

    這篇文章主要介紹了JS端基于download.js實(shí)現(xiàn)圖片、視頻時(shí)直接下載而不是打開預(yù)覽,需要的朋友可以參考下
    2020-05-05
  • JavaScript模板引擎原理與用法詳解

    JavaScript模板引擎原理與用法詳解

    這篇文章主要介紹了JavaScript模板引擎原理與用法,結(jié)合實(shí)例形式詳細(xì)分析了javascript模版引擎相關(guān)概念、原理、定義及使用方法,需要的朋友可以參考下
    2018-12-12
  • vue-router重定向不刷新問題的解決

    vue-router重定向不刷新問題的解決

    本篇文章主要介紹了vue-router重定向不刷新問題的解決,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • JavaScript?中的作用域與閉包

    JavaScript?中的作用域與閉包

    這篇文章主要介紹了JavaScript中的作用域與閉包,JavaScript是一種具有函數(shù)優(yōu)先的輕量級(jí),解釋型或即時(shí)編譯型的編程語言,下文是更多相關(guān)介紹需要的小伙伴可以參考一下
    2022-05-05
  • 最新評(píng)論