Javascript-對HTML5 標簽操作


Js操控----HTML5 <progress> 標簽

簡單模擬下下載進度跑條

 1 <h4>加載進度</h4>
 2     <input type="button" value="下載" onclick="DownloadStart();" />
 3     <progress id="Download" value="" max="100"></progress>
 4 
 5     <script>
 6         function DownloadStart() {
 7             alert("加載下載")
 8             var Down = document.getElementById("Download");
 9             var i = 0;
10             var DownSetTime;
11             DownSetTime = setInterval(function () {
12                 i += 10
13                 Down.value = i;
14                 if (i == 100) {
15                     clearInterval(DownSetTime);
16                     alert("加載完成")
17                 }
18             }, 500)
19         }
20        
21     </script>

 當然了,真正的進度是肯定不能這樣寫的,因為實際上目前還沒有一種方法可以判斷進度的進程,因此只能讓跑條一直跑,或者跑到一個頂峰然后停着等下載完成,直接跳了100%。

例一:進度條跑到90,然后等,等服務器或者其他地方傳進來一個值,然后再一下子到100.

 1 <h4>加載進度</h4>
 2     <input type="button" value="加載" onclick="LoadStart();" />
 3     <progress id="Load" value="0" max="100"></progress>
 4 
 5     <script>
 6         function LoadStart() {
 7             var Complete = 0;//加載完成與否,初始為0,完成為1
 8             var Load = document.getElementById("Load");//獲取進度條
 9             var i = 0;//聲明跑條的初始值
10 
11             //加載進度跑條
12             LoadSetTime = setInterval(function () {
13                 i += 10;//每500毫米跑10份
14                 Load.value = i;
15                 if (i >= 90) {//當跑條到90時,就不跑了,停止
16                     clearInterval(LoadSetTime);
17                     return;
18                 }
19             }, 500);
20 
21             //加載完成與否
22             GetData = setInterval(function () {
23                 if (Complete == 1) {//當加載完成,也就等於1的時候
24                     Load.value = 100;//跑條完成,到100
25                     alert("加載完成");
26                     clearInterval(GetData);//加載完成的計時器清除加載完成與否計時器
27                     clearInterval(LoadSetTime);//加載完成的計時器清除加載進度跑條計時器
28                 }
29             });
30 
31             //從服務器獲得加載內容完成與否的值,當然了你可以定義這個值從任何地方來,比如頁面加載完成,動畫加載完成,圖片加載完成,一個動作執行完畢等等都可以,具體看你需要用在的地方
32             $.post(URL, function (data) {
33                 if (parseInt(data) == 1) {
34                     Complete = 1;
35                 }
36             })
37         }
38     </script>

 

例二:進度條一直跑,然后等,等服務器或者其他地方傳進來一個值,然后再一下子到100以后清除所有計時器,加載完成

 1     <h4>加載進度</h4>
 2     <input type="button" value="加載" onclick="LoadStart();" />
 3     <progress id="Load" value="0" max="100"></progress>
 4 
 5     <script>
 6         function LoadStart() {
 7             var Complete = 0;//加載完成與否,初始為0,完成為1
 8             var Load = document.getElementById("Load");//獲取進度條
 9             var i = 0;//聲明跑條的初始值
10 
11             //加載進度跑條
12             LoadSetTime = setInterval(function () {
13                 i += 10;//每500毫米跑10份
14                 Load.value = i;
15                 if (i == 100) {
16                     i = 0;
17                 }
18             }, 500);
19 
20             //加載完成與否
21             GetData = setInterval(function () {
22                 if (Complete == 1) {//當加載完成,也就等於1的時候
23                     Load.value = 100;//跑條完成,到100
24                     clearInterval(GetData);//加載完成的計時器清除加載完成與否計時器
25                     clearInterval(LoadSetTime);//加載完成的計時器清除加載進度跑條計時器
26                 }
27             });
28 
29             //從服務器獲得加載內容完成與否的值,當然了你可以定義這個值從任何地方來,比如頁面加載完成,動畫加載完成,圖片加載完成,一個動作執行完畢等等都可以,具體看你需要用在的地方
30             $.post(URL, function (data) {
31                 if (parseInt(data) == 1) {
32                     Complete = 1;
33                 }
34             })
35         }
36     </script>

ok,簡單介紹下js操控“progress”標簽,具體看你用在什么地方。

 

作者:leona

原文鏈接:http://www.cnblogs.com/leona-d/p/5950280.html 

版權聲明:本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM