哈尔滨阿里云代理商: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

相关推荐

  • 阿里云物联网产品配网方式有哪些

    物联网的通信方式有哪些? 电子邮件、聊天软件应用、远程教学、视频聊天 物联网有哪些网络传输方式 有线,无线电,卫星,红外线等电话智能终端,电脑,遥控,声控,等 求大神指点,物联网的接入方式有哪几种啊? 1.拨号上网2.DSL3.以太网4.电力线5.WiFi 具体内容见 《物联网导论》 —-刘云浩 农业物联网主要涉及到哪些方面 展开全部智能农业涉及…

    2023年8月28日
    37500
  • 阿里巴巴云客服语音客服难

    阿里巴巴云客服语音客服难主要体现在以下几个方面: 语音识别准确性不高:语音客服在理解用户的问题时,需要进行语音识别,但由于语音识别技术目前还存在一定的准确性问题,很难完全准确地识别用户的语音内容,导致回答的准确度较低。 语音纠错能力有限:语音客服在识别用户的语音后,往往需要通过纠错来理解用户的真实意图,但目前的语音纠错技术还不够成熟,纠错能力有限,导致理解错…

    2023年9月10日
    36800
  • 哈密阿里云企业邮箱代理商:阿里云购买域名流程图

    阿里云企业邮箱代理商:阿里云购买域名流程图 随着企业的日益壮大,邮箱的使用越来越普遍。企业邮箱是指以企业域名为后缀的邮箱,比如XXX@company.com。阿里云作为众所周知的云计算服务提供商,其企业邮箱和企业邮箱代理商也备受瞩目。 要想拥有自己的企业邮箱,第一步就需要购买一个域名。下面我们来看一下阿里云购买域名的流程: 阿里云购买域名流程图 阿里云企业邮…

    2024年3月14日
    38200
  • 玉树阿里云企业邮箱代理商:阿里云服务器代理商查询系统

    玉树阿里云企业邮箱代理商:阿里云服务器代理商查询系统 阿里云企业邮箱优势 阿里云企业邮箱是一款由阿里云推出的专业企业邮箱服务,具有以下优势: 稳定可靠:基于阿里云强大的服务器支持,保障企业邮箱系统稳定运行。 安全防护:提供全面的邮件安全防护机制,保障企业内部和外部邮件的安全。 海量存储:支持企业高容量的邮件存储需求,轻松应对大量邮件数据。 智能管理:提供灵活…

    2024年2月18日
    39000
  • 南通阿里云代理商:安卓项目调用api

    南通阿里云代理商:安卓项目调用API 概述 本文将介绍在安卓项目中如何调用阿里云API,并探讨阿里云作为云服务提供商的优势和好用之处。 1. 安卓项目中调用API的必要性 在现代的移动应用开发中,很多应用都需要与服务器进行数据交互。而为了简化开发过程和提高效率,开发人员可以选择使用API(Application Programming Interface)来…

    2024年1月8日
    34500

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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