我有一个需要大量数据的图表,足以完成 d3.json() 请求大约需要 5-10 秒。有没有办法在 AJAX 请求期间显示一个好的老式微调器,或者有什么效果?
或者,我是否应该只使用 jQuery AJAX 请求并遵循显示微调器的标准程序(如此处所述)。只是好奇是否有人尝试过这个......
我有一个需要大量数据的图表,足以完成 d3.json() 请求大约需要 5-10 秒。有没有办法在 AJAX 请求期间显示一个好的老式微调器,或者有什么效果?
或者,我是否应该只使用 jQuery AJAX 请求并遵循显示微调器的标准程序(如此处所述)。只是好奇是否有人尝试过这个......
我使用spin.js作为我的微调器。然后和你说的差不多:
var spinner = new Spinner(opts);
var target;
$(document).ready(function() {
target = document.getElementById('spinner-box');
});
function findData() {
$.ajax({
beforeSend: function() {
spinner.spin(target);
},
complete: function() {
spinner.stop()
},
type: 'POST',
url: // url,
data: // data,
success: function() {
// do something
},
error: function(e) {
spinner.stop();
// do something
}
});
}
我在这里做过类似的事情。这个想法是在静态页面上有微调器(或其他通知)并在 AJAX 回调中替换它。