我有一个装载机,
<div id="loading">Loading..!</div>
<script>$('#loading').hide();</script>
我想在启动js函数时自动显示该加载器,并在js函数完成时隐藏。
并在js文件中
function myfunc{
$('#loading').show();
//some bla bla;
$('#loading').hide();
}
function myfunc1{
$('#loading').show();
//some bla bla;
$('#loading').hide();
}
... .. ....
function myfuncN{
$('#loading').show();
//some bla bla;
$('#loading').hide();
}
我想自动显示加载程序,而不是将该语句写入每个函数。
答案 0 :(得分:1)
答案 1 :(得分:0)
如果使用的是ajax jQuery函数,则可以声明全局Ajax配置 像这样
$.ajaxSetup({
beforeSend: function() {
$('#loading').show();
},
complete: function() {
$('#loading').hide();
}
});
这样,您可以在每次异步调用开始时显示加载指示器,并在结束时将其隐藏
我希望这对您有帮助
答案 2 :(得分:0)
您可以编写一个装饰其他功能的功能。
在ES6中
function showAndHide(func) {
return (...args) => {
$('#loading').show();
func(...args);
$('#loading').hide();
};
}
const myFunc = showAndHide(() => {
//blah blah
});
还是ES5
function showAndHide(func) {
return function decoratedShowAndHide() {
$('#loading').show();
func.apply(this, arguments);
$('#loading').hide();
};
}
var myFunc = showAndHide(function () {
//blah blah
});
showAndHide
函数接受一个函数作为参数并返回一个函数。因此,它可以修饰功能的执行并提供重用。