1
300 밀리 초가 걸리는 모든 Ajax 호출에서 body 요소에 "loading"클래스를 추가하려고합니다. 내가 오랫동안 좋은 초원 초에서 아약스 통화를 할 경우 지금이 작품ClearTimeout이 제대로 작동하지 않습니다 (첫 번째 타이머가 시작되기 전에 지울 때)
$(document).ready(function()
{
var timer;
$("body").on({
ajaxStart: function()
{
var body = $(this)
var timer = setTimeout(function()
{
body.addClass("loading");
}, 300)
},
ajaxStop: function()
{
$(this).removeClass("loading");
clearTimeout(timer);
}
});
});
: 그래서 내 common.js를 파일에 다음 스크립트를 추가했다. 즉시로드 클래스는 본문 요소에 남아 있습니다.
는 내가 처음 AJAX 호출이이 300ms 클래스를 제거하고 타이머를 삭제 요구가 만료되기 전에 끝이 10ms의 소요 말할 수 있지만, 의심 다음 타이머 화재 후 290ms 이상 ...
I 어떻게 테스트 할 수 있을지 궁금해하니? 및 날씨 위에서 설명한 작업을 수행하기 위해 뭔가 잘못하고 있습니다.
P.S ASP.NET MVC를 사용하고 있습니다.
은 역시'removeClass' 위의'clearTimeout' 이동하는 것이 좋습니다. –
@PaulS. - 물론, 어떨까요,하지만 클래스를 추가하는 것은 너무 빠르기 때문에 몇 밀리 초의 차이입니다. – adeneo
@adeneo 그 실제로 도움이되지 않았다 각 호출 전에 body.appends 및 ajaxStop 함수가 발생하지 않는 것으로 나타났습니다 ... MVC를 사용하여 메신저 캐시 수 있습니다 그래서 나는 왜 멈추지 않고 아약스 시작 있습니다. .. – Mortalus