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

相关推荐

  • 阿里云语音合成软件有哪些

    阿里云语音合成软件有以下几个常用的: 阿里云语音合成(Aliyun TTS):阿里云提供的在线语音合成服务,可将文字转换为自然流畅的语音。支持多语种、多音色选择,并具备实时流式合成功能。 阿里云智能语音合成(Aliyun ASR):阿里云智能语音合成是智能音频编解码技术应用的一项服务,可实现文字转语音,还可以根据用户需求进行音频数据的解码。 阿里云语音服务(…

    2023年8月10日
    74400
  • 阿里云人脸识别api调用出错

    很抱歉听到您遇到问题。出现错误可能有很多原因,以下是一些常见的解决方法,希望能帮到您: 检查参数:确保您提供了正确的参数,包括访问密钥、身份证号码、图片等。特别注意检查参数的格式和类型是否正确。 确认身份证照片和要识别的人脸照片质量良好:人脸识别需要清晰、光线充足的照片来提高识别准确性。确保照片的分辨率足够高,并且在不同角度和光线条件下都能够清晰展示人脸特征…

    2023年9月3日
    72800
  • 开通阿里云物联网平台怎么收费

    阿里云oss如何收费 总共4中收费因素:存储空间大小(这个必然收费,以G为单位)流量多少(这个必然收费,只收公网下行)请求次数(并发多了会收费)图片加工(比如鉴黄等接口) 阿里云服务器多少钱,收费标准? 你说的阿里云的服务器是指ECS吧,这个可以根据你的需求来自己配置,后期可以在增加配置的,有什么问题不懂的可以找我,很乐意帮助。 阿里云对个人收费吗?提供多大…

    2023年8月26日
    73300
  • 商丘阿里云代理商:阿里云安装debian

    安装Debian系统在阿里云服务器上分为以下几个步骤: 首先,登录到阿里云控制台,进入到您的云服务器ECS实例列表页面。 第一步:备份数据在安装新操作系统之前,一定要备份您的数据,以防数据丢失。 第二步:创建自定义镜像对原有ECS进行制作自定义镜像,可以直接在ECS控制台点击”创建镜像”,镜像创建成功后,可以在镜像列表中看到。 第三步:更换系统盘…

    2024年3月12日
    68700
  • 阿里云当年如何测试的

    如何测试阿里云主机的性能? 如果你是放网站的话.最直接有效的方法就是把你的网站架设在阿里云主机上面.然后让各个地区的朋友帮你打开测试下实际访问速度与稳定性.LINUX和WIN系统各有优缺点.并没有好坏之分.你若对LINUX不了解的话就更无法发挥它的优势.建议用WIN系统会更方便.海腾数据杨闯为你解答.希望以上回答对你有帮助 阿里巴巴的历史谁知道? 阿里巴巴是…

    2023年8月29日
    76200

发表回复

登录后才能评论

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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