zoukankan      html  css  js  c++  java
  • Javascript-对HTML5 <progress> 标签操作

    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 

    版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接
  • 相关阅读:
    c++ 中pair类模板的用法详解
    求解Catalan数,(大数相乘,大数相除,大数相加)
    POJ--2823--Sliding Window----单调队列问题
    POJ2796 Feel Good -- 单调队列
    Graham扫描法 --求凸包
    山东理工大学第七届ACM校赛-G 飞花的传送门
    NKOJ1236 a^b (数论定理的应用)
    大数相减 C语言
    SPFA ----模板 O(kE) (k一般不超过2)
    C++大数相加
  • 原文地址:https://www.cnblogs.com/leona-d/p/6042736.html
Copyright © 2011-2022 走看看