1
newby newb here ...我不认为这个特定的问题已经在这个网站上解决过,我已经搜索和搜索,但找不到任何有效的。我想显示一个加载图像。我将它隐藏在setTimeout之前,然后在setTimeout结束时显示。我读过的所有内容都说这应该可行,但事实并非如此。在我的脚本完成运行之前,我的图像出现,然后立即消失。有任何想法吗?谢谢!setTimeout中的代码没有按照预期的顺序发射
function createHTML(data, listName) {
var arr = data.d.results;
$(".save").on("click",function(event){
// HERE IS WHERE I SHOW MY LOADING IMAGE INITIALLY
$('.logoImg').show();
// SET TIMEOUT FUNCTION
setTimeout(function() {
$("input.title").each(function(){
var title = $(this).val() ? $(this).val() : null;
var currentUserRequest = GetCurrentUser();
(function (userData) {
updateListItem(_spPageContextInfo.webAbsoluteUrl,'MyList',id,itemProperties,printInfo,logError);
function printInfo() {
console.log('Item has been UPDATED!');
}
function logError(error){
console.log(JSON.stringify(error));
}
});
});
// THIS IS FIRING BEFORE THE ABOVE EACH STATEMENT
$('.logoImg').hide();
}, 0);
});
}
https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout#The_this_problem –
edti:对不起,刚才看到您的链接。谢谢! –
嘿sumeet ...我通读了那篇文章,并且我已经在我的setTimeout内容周围有一个包装函数,但它仍然不会等待隐藏我的加载图像,直到setTimeout中的所有内容都完成为止。根据那篇文章,我可以'看到我要去的地方。有什么我失踪?再次感谢帮助初学者! –