模态显示循环javascript



[这是我在js中的代码]https://i.stack.imgur.com/dag4a.png

大家好。我有这样一个问题。加载页面时,弹出窗口应该打开。问题是,如果我在for循环中执行,它会显示带有数组中最后一个元素的窗口。首先,它遍历数组,最后打开一个窗口。如何让它等待每个窗口关闭,然后打开另一个窗口(如果还有另一个(。

$(document).ready(function () {
$.get('/Home/GetUnreadNewsFeed', function (newsFeed) {
for (var i = 0; i < newsFeed.length; i++) {
showNewsFeedDetails(newsFeed[i].imageFileId, newsFeed[i].title, newsFeed[i].hiperlink, newsFeed[i].idNewsFeed);
};
});
});
function showNewsFeedDetails(imageFileId, title, hiperlink, idNewsFeed) {
loader.load();
$.get('/Home/GetNewsFeedDetailsPartialView', {
'imageFileId': imageFileId,
'hiperlink': hiperlink
}, function (data) {
modal.show({
bodyContentText: data,
headerText: '<h5 class="heading-modal-h">' + title + '</h5>',
btnSubmitOnClick: function () { markAsRead(idNewsFeed); },
btnSubmit: Translations.iTookNote,
width: '40%'
});
}).always(function (data, textStatus, jqXHR) {
loader.hide();
});
}

你可以试试这个:

$(document).ready(function () {
$.get('/Home/GetUnreadNewsFeed', async function (newsFeed) {
for (var i = 0; i < newsFeed.length; i++) {
await showNewsFeedDetails(newsFeed[i].imageFileId, newsFeed[i].title, newsFeed[i].hiperlink, newsFeed[i].idNewsFeed);
};
});
});
function showNewsFeedDetails(imageFileId, title, hiperlink, idNewsFeed) {
return new Promise((resolve,reject) => {
loader.load()
$.get('/Home/GetNewsFeedDetailsPartialView', {
'imageFileId': imageFileId,
'hiperlink': hiperlink
}, function (data) {
modal.show({
bodyContentText: data,
headerText: '<h5 class="heading-modal-h">' + title + '</h5>',
btnSubmitOnClick: function () { 
markAsRead(idNewsFeed); 
resolve();
},
btnSubmit: Translations.iTookNote,
width: '40%'
});
}).always(function (data, textStatus, jqXHR) {
loader.hide();
});
}) 
}

最新更新