首页 前端知识 利用jQuery实现ajax下载文件时进度条

利用jQuery实现ajax下载文件时进度条

2024-06-20 09:06:29 前端知识 前端哥 161 475 我要收藏

实现原理:模拟一个虚拟的进度,利用里面子元素的宽度变化来实现进度增长,
关键属性:transition

预览:

进度条

html

<div class="lineProgress">
<span></span>
</div>
复制

css

/* 进度线 */
.lineProgress {
width: 402px;
height: 7px;
background: #D9D9D9;
position: relative;
margin: 40px 0 64px;
}
.lineProgress span {
position: absolute;
top: 0;
left: 0;
width: 0;
height: 7px;
background: #4B95F8;
transition: width 10s ease-out;
}
复制

JS:当接口成功时,进度条跳到100%

$.ajax({
url: 'http://127.0.0.1:6780/enroll/enroll_title',
type: "POST",
timeout: 10000,
beforeSend: function () {
setTimeout(function () {
$(".mygenerate1").show().find(".lineProgress span").css("width", "80%");
}, 0)
},
success: function () {
// 进度到100%
$(".lineProgress span").css({ "width": "100%", "transition": "none" });
setTimeout(function () {
$(".maskbg").show();
$(".mygenerate1").hide();
}, 400)
},
error: function (jqXHR, textStatus, errorThrown) {
if (textStatus == "timeout") {
$(".mygenerate1").hide();
$(".mygenerate2").show()
$(".lineProgress span").css({ "width": "0", "transition": "width 10s ease-out" })
}
}
});
复制
转载请注明出处或者链接地址:https://www.qianduange.cn//article/12978.html
标签
评论
还可以输入200
共0条数据,当前/页
发布的文章

JQuery中的load()、$

2024-05-10 08:05:15

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!