成都网站建设设计

将想法与焦点和您一起共享

JS中实现一个下载进度条及播放进度条的代码-创新互联

术上没太大难度,有难度的地方是怎么让整个动画比较流畅。一个主要问题是动画的滞后性:当下载进度到某个点的时候,你再用250ms的动画过渡过去,这个时候已经慢了,所以很多人可能因为这个原因或者嫌麻烦,直接就不做动画了,在进度事件触发的时候直接更新进度条相应的位置,不过我们可以尝试实现一下。

创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、成都网站制作、解放网络推广、重庆小程序开发、解放网络营销、解放企业策划、解放品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联建站为所有大学生创业者提供解放建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

最后做出来的效果如下图所示:

JS中实现一个下载进度条及播放进度条的代码 

小狗奔跑的动画是一个lottie动画,来自 codepen 。

1. 获取下载进度

ajax里面可以拿到下载进度,如下代码所示:

 let xhr = new XMLHttpRequest();
 const downloadUrl = 'installer.dmg';
 xhr.open('GET', downloadUrl, true);
 xhr.addEventListener('progress', function (event) {
  // 响应头要有Content-Length
  if (event.lengthComputable) {
   let percentComplete = event.loaded / event.total;
   console.log(percentComplete); // 最后输出1
  }
 }, false);
 xhr.send();

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前名称:JS中实现一个下载进度条及播放进度条的代码-创新互联
网页路径:http://chengdu.cdxwcx.cn/article/degcpp.html