我遇到了一些设计问题。 我有一个带有JQuery日历(全日历)的页面,我需要根据当前月份检索两个ID。 哪个是最好的解决方案?
我尝试使用第一种解决方案,但是当用户切换月份太快(每个示例的1月到2月)时,它会影响1月ID到2月,因为用户切换太快(在第一次请求实际完成之前)。
希望我很清楚。
提前谢谢。
答案 0 :(得分:0)
第一种方法是优选的。您可以做的是添加时间禁用,对于我来说,在这种情况下,装载机是最佳用途
Css:
body.loading {
overflow: hidden;
}
body.loading .modal1 {
display: block;
}
.modal1 {
display: none;
position: fixed;
z-index: 1000;
top: 0;
left: 0;
height: 100%;
width: 100%;
background: rgba( 255, 255, 255, .8 )
url('Loaderurl')
50% 50%
no-repeat;
}
查看 - 在底部添加
<div class="modal1"></div>
脚本 -
$body = $("body");
$(document).on({
ajaxStart: function () {
$body.addClass("loading");
},
ajaxStop: function (e) {
$body.removeClass("loading");
}
});
答案 1 :(得分:0)
感谢您的帮助。 我选择做的是初始化一个数组,我将所有needToCancel ajax请求放入其中并创建一个cancelAjaxRequests方法,我每次更改月份时都会调用该方法。
var lastMonthAjaxRequests = [];
lastMonthAjaxRequests.push(... my ajax requests...)
function abortAjaxRequests(ajaxRequests) {
$.each(ajaxRequests,
function() {
this.abort();
});
}
然后每次重新呈现我的日历时:
abortAjaxRequests(lastMonthAjaxRequests);
lastMonthAjaxRequests = [];