哈尔滨阿里云代理商:ajax实现进度条

实现进度条一般使用ajax技术,具体步骤如下:

  1. 引入jquery库
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
  1. 编写css样式代码
#progress{
  width: 300px;
  height: 10px;
  background-color: #ccc;
  position: relative;
}
.bar{
  width: 0%;
  height: 100%;
  background-color: #4caf50;;
  position: absolute;
  left: 0;
  top: 0;
  transition: width 0.3s ease-out;
}
  1. 编写html页面代码
<div id="progress">
  <div class="bar"></div>
</div>
  1. 编写ajax请求代码
// 定义变量
var xhr = new XMLHttpRequest();
var url = "your_api_url"; //需要请求的接口地址
var progress = $("#progress .bar");

// 监听状态
xhr.onprogress = function(event) {
  if (event.lengthComputable) {
    var percent = (event.loaded / event.total) * 100 + "%";
    progress.width(percent); //根据返回的进度信息更新进度条进度
    progress.text(percent);  //显示进度
  }
};

// 发送请求
xhr.open("GET", url, true);
xhr.send();

通过监听xhr对象的onprogress事件,可以获取ajax请求的进度信息,并实时更新进度条的进度。其中,event.loaded属性表示已经加载的字节数,event.total属性表示需要加载的总字节数。根据这两个参数可以计算出当前加载的百分比,从而动态更新进度条的进度。

  1. HTML代码:
<div id="progressBar"></div>
  1. CSS代码:
#progressBar {
  width: 300px;
  height: 20px;
  border: 1px solid #ccc;
  position: relative;
  margin: 20px;
}

#progressBar .bar {
  width: 0;
  height: 100%;
  background: #07c;
  position: absolute;
  top: 0;
  left: 0;
}
  1. JavaScript代码:
var ajax = new XMLHttpRequest(),
  progressBar = document.getElementById("progressBar"),
  bar = progressBar.querySelector(".bar");

// 监听进度事件
ajax.upload.addEventListener("progress", function(e) {
  var width = Math.round((e.loaded / e.total) * 100);
  bar.style.width = width + "%";
}, false);

// 发送请求
ajax.open("POST", "upload.php");
ajax.send(new FormData());

说明:

  • 通过document.getElementById("progressBar")获取进度条元素节点;
  • 通过progressBar.querySelector(".bar")获取进度条进度元素节点;
  • 监听XMLHttpRequest对象的uploadprogress事件,获取上传进度;
  • 在事件回调函数中计算宽度百分比,设置进度条进度元素节点的宽度;
  • 使用ajax.open()ajax.send()方法发送Ajax请求;
  • 服务器端代码省略。

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/116103.html

(0)
luotuoemo的头像luotuoemo
上一篇 2023年12月29日 01:16
下一篇 2023年12月29日 01:46

相关推荐

  • 宜宾阿里云代理商:阿里云新logo

    宜宾阿里云代理商了解到,阿里云在2017年进行了品牌升级,推出了全新的Logo。新Logo的设计灵感来源于云朵和阿里巴巴集团Logo,象征着阿里云作为云计算领域的领导者和阿里巴巴集团旗下重要的战略板块。 新Logo保留了原有Logo中的云朵元素,但经过重新设计,更加简洁、立体和现代化。在设计上,通过精简线条、圆角处理等方式,使得整体更加流畅且符合现代审美。同…

    2024年1月3日
    30600
  • 阿里云国际站代理商:阿里云域名使用方法

    阿里云国际站代理商的阿里云域名使用方法通常包括以下几个步骤: 注册阿里云账户: 访问阿里云国际站官网。 点击右上角的“注册”按钮,填写必要的信息,创建一个阿里云账户。 登录账户: 使用注册的邮箱和密码登录阿里云国际站。 选择并购买域名: 在导航栏中找到“域名与网站”选项,点击“域名注册”。 输入你想注册的域名,点击“搜索”,查看该域名是否可用。 如果域名可用…

    2024年7月11日
    26100
  • 阿里巴巴云计算 招聘岗位

    请问云计算的职位有哪些啊? 未来三年云计算相关的工作需求每年将会以26%的速度增长。2015年约有700万云计算相关的岗位空缺。http://note.youdao.com/share/?id=77ad9bbc1bb54b418ad08eb6ef77abdf&type=note 阿里巴巴招聘人员应请哪些技术人员 职位描述1、5年以上互联网或软件业界工…

    2023年8月26日
    26500
  • 龙海阿里云企业邮箱代理商:钉钉邮箱图片怎么排序

    龙海阿里云企业邮箱代理商:钉钉邮箱图片怎么排序 阿里云企业邮箱是阿里云公司推出的一款面向企业用户的电子邮件服务。作为阿里云企业邮箱的代理商,龙海提供了全面的技术支持和优质的客户服务。今天我们来讨论一下如何对钉钉邮箱中的图片进行排序。 一、钉钉邮箱图片排序功能介绍 钉钉邮箱是阿里云企业邮箱中的一款集成办公工具,提供了丰富的邮件管理功能。其中,钉钉邮箱图片排序功…

    2024年1月16日
    22200
  • 宜昌阿里云代理商:安卓搭建jsp服务器搭建

    要在安卓设备上搭建JSP服务器,您可以按照以下步骤进行操作: 在安卓设备上安装一个Java开发环境,比如 JDK(Java Development Kit)。 下载并安装一个支持JSP的服务器,比如 Apache Tomcat。 配置Tomcat服务器,在Tomcat目录下的conf文件夹中找到server.xml文件,用文本编辑器打开该文件。 在该文件中寻…

    2024年2月10日
    28400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
购买阿里云服务器请访问:https://www.4526.cn/