Проблема:
Добавление текста в div после выполнения строки выполнения завершено, но до запуска setTimeout().
Код HTML:
<div id="loading" class="files"></div>
Код jQuery:
<script>
$(function () {
'use strict';
// Server-side upload handler:
var url = 'process.php';
$('#fileupload').fileupload({
url: url,
autoUpload: true,
acceptFileTypes: /(\.|\/)(txt)$/i,
maxFileSize: 5000000, // 5 MB
done: function (e, data) {
setTimeout(function(){
window.location = "explorer.php";}, 2000);
},
progressall: function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress .progress-bar').css(
'width',
progress + '%'
);
}
}).prop('disabled', !$.support.fileInput)
.parent().addClass($.support.fileInput ? undefined : 'disabled');
});
</script>
Желаемый результат:
Когда индикатор выполнения будет на 100%, добавьте текст "Загрузка..." в div и затем запустите setTimeout().
Для этого метода должен иметь код. Итак, ваше дело станет,
progressall: function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress .progress-bar').css(
'width',
progress + '%'
);
if (progress == 100)
$("#loading").html("Loading...");
}
Но текст "Загрузка..." будет отображаться пользователю только в течение нескольких секунд, так как мы инициировали обновление страницы через 2 секунды.