【发布时间】:2017-07-27 09:35:05
【问题描述】:
我的页面中有一个动态更新的进度条,我想在其中显示百分比,但我不知道怎么做。这是我页面上的进度条:
<div class="progress progress-striped active">
<div id="prog" class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;">
<span id="progress-value"></span>
</div>
</div>
这是我更新进度条的 jQuery 代码:
$.ajax({
xhr: function () {
var xhr = new window.XMLHttpRequest();
xhr.upload.addEventListener("progress", function (evt) {
if (evt.lengthComputable) {
var pct = evt.loaded / evt.total;
$("#prog").css({ width: pct * 100 + '%' });
$('#progress-value').html(pct * 100);
}
}, false);
xhr.addEventListener("progress", function (evt) {
if (evt.lengthComputable) {
var pct = evt.loaded / evt.total;
$("#prog").css({ width: pct * 100 + '%' });
$('#progress-value').html(pct*100);
if (pct === 1) {
$('#prog').addClass('hide');
}
}
}, false);
return xhr;
},
它会更新进度条,因为我在数据加载期间看到它在进行,但它不显示百分比。我做错了什么?
【问题讨论】:
-
$('#prog').removeClass('hide');在 xhr 的开头?
-
是的,我有几个按钮,每个按钮都调用 ajax 请求,在加载结束时我隐藏进度条以显示数据。当我调用一个按钮时,我删除了 Hide 类,因为我想再次显示进度条,它可以工作
标签: jquery ajax twitter-bootstrap