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

版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接

JavaScript----Js操控-HTML5 <progress> 标签的更多相关文章

  1. JavaScript学习笔记-Js操控HTML5 <progress> 标签

    Js操控----HTML5 <progress> 标签 简单模拟下下载进度跑条 <h4>加载进度</h4> <input type="button& ...

  2. 【微信小程序项目实践总结】30分钟从陌生到熟悉 web app 、native app、hybrid app比较 30分钟ES6从陌生到熟悉 【原创】浅谈内存泄露 HTML5 五子棋 - JS/Canvas 游戏 meta 详解,html5 meta 标签日常设置 C#中回滚TransactionScope的使用方法和原理

    [微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ...

  3. HTML5每日一练之progress标签的应用

    progress标签:从名字上来看,估计大家也能猜到这个标签是什么标签了,没错,他是一个进度条.在HTML5中我们终于可以不用模拟了. <progress id="W3Cfuns_pr ...

  4. html5 video标签屏蔽右键视频另存为的js代码-HTML5教程

    点评:html5 video标签本身有下载功能但是在video区域内,点击右键可以将“视频另存为”下面是屏蔽右键视频另存为的js代码,有此需求的朋友不要错过   做HTML5的video标签,本身我们 ...

  5. ios加载html5 audio标签用js无法自动播放

    html5 audio标签在ios 微信浏览器中是无法自动播放的,最近在做一个小的项目遇到这个问题,安卓和pc都是正常的,唯独ios不行,查阅了很多资料,找到了以下方法,也许不是最好用的方法,如果有更 ...

  6. 让ie浏览器支持html5新标签的解决方法(使用html5shiv)

    没估计错的话旧版浏览器都是不识别这些新增的标签所以都是用行内元素来处理解决的,所以,有一个解决办法的突破口就是让它变成块状元素就不会处于同一行了,这样在新旧浏览器都是可以显示同样的效果,再者就是让浏览 ...

  7. 解决html5中标签出现的不兼容的问题

    HTML5的语义化标签以及属性,可以让开发者非常方便地实现清晰的web页面布局,加上CSS3的效果渲染,快速建立丰富灵活的web页面显得非常简单. HTML5的新标签元素有: <header&g ...

  8. 【HTML5】如何处理HTML5新标签的浏览器兼容版问题

    HTML5规范毕竟是刚刚才定义完成的规范,还有一些浏览器并不能支持其中的新标签和新属性,尤其是IE8及以下版本浏览器.以下介绍一些在页面中使用HTML5新标签的实践方法,目的是让HTML5中的新标签在 ...

  9. HTML语义化:HTML5新标签——template

    一.前言 当我们使用String-base的模板引擎(如Handlebars.js等)时,要么就通过外部文件存放模板文本,需要时再通过XHR或script标签加载进来:要么通过<script t ...

随机推荐

  1. MyEclispe 2016 CI 0发布(附下载)

    | MyEclipse 2016 CI 0下载(免费试用30天) Eclipse Mars MyEclipse 2016基于Eclipse Mars 1 (4.5.1),除了在Eclipse基础上做了 ...

  2. Thread多线程(一)

    网上关于多线程的讲解有很多,意义也不用过多介绍,相信聪明的你早已知道,下面我们在剖析一下JAVA中的多线程的一些方法. 在JAVA中分别提供了两种方式实现多线程,分别继承Java.lang.Threa ...

  3. Sublime Text 解决中文乱码

    sublime text 是一款非常优秀的跨平台文本及源代码编辑器,本人非常喜欢,但是不支持GB2312和GBK编码在某些时候比较麻烦.可以通过向sublime text 中添加编码类型转换包(比如& ...

  4. 如何转换SQL Server 2008数据库到SQL Server 2005

        背景介绍: 公司一套系统使用的是SQL SERVER 2008数据库,突然一天收到邮件,需要将这套系统部署到各个不同地方(海外)的工厂,需要在各个工厂部署该数据库,等我将准备工作做好,整理文档 ...

  5. C# 中的var关键字

    var 是3.5新出的一个定义变量的类型 其实也就是弱化类型的定义 VAR可代替任何类型 编译器会根据上下文来判断你到底是想用什么类型的 至于什么情况下用到VAR 我想就是你无法确定自己将用的是什么类 ...

  6. MYSQL的常用命令和增删改查语句和数据类型

    连接命令:<a href="http://lib.csdn.net/base/mysql" class='replace_word' title="MySQL知识库 ...

  7. Python魔术方法-Magic Method

    介绍 在Python中,所有以"__"双下划线包起来的方法,都统称为"Magic Method",例如类的初始化方法 __init__ ,Python中所有的魔 ...

  8. C++ 栈和堆的区别

    C++中的存储区分为全局数据区.代码区.堆.栈. 全局数据区存放静态数据.全局变量.常量. 代码区存放所有类成员函数和非成员函数的代码. 栈区存放用于函数的返回地址.形参.局部变量.返回类型. 堆区存 ...

  9. Linux Daemon进程

    模型 创建孤儿进程 fork() 创建新的会话 setid() 改变当前目录为根目录chdir() 重设文件权限掩码umask() 关闭文件描述符close() 创建孤儿进程 创建孤儿进程只需要将父进 ...

  10. InfluxDB学习之InfluxDB数据保留策略(Retention Policies)

    InfluxDB每秒可以处理成千上万条数据,要将这些数据全部保存下来会占用大量的存储空间,有时我们可能并不需要将所有历史数据进行存储,因此,InfluxDB推出了数据保留策略(Retention Po ...