我搞亂了jQuery一個AJAX幾天,我走到了死衚衕。我試圖用AJAX加載一些內容 - 這部分工作正常 - 之後我想執行其他腳本。但是,第一個腳本加載的內容在第二個腳本完成之前不會顯示出來。代碼如下所示:
$.ajax({
url : folder,
success: function (data) {
$(data).find("a").attr("href", function (i, val) {
if(val.match(/\.(jpe?g|png|gif)$/)) {
var $codeText = "<li class='ui-state-default'><a href='#' data-featherlight='" + folder + val + "'><img src='" + thumbFolder + val + "' data-src='"+ thumbFolder + val + "'/></a></li>";
$("ul[id=sortable]").append($codeText);
$("li").featherlight(folder + val);
};
});
}
})
$(window).ajaxComplete(function(){
console.log("Haba");
var x = 0;
while(x < 50000)
{
console.log("Haba nr "+x);
x++;
}
整個代碼被觸發,但所有控制檯消息後都會在網站上顯示圖像。有沒有人有任何建議先做什麼來顯示圖片?我也嘗試完成()。和ajaxStop(),仍然沒有效果。
你使用'while'循環阻止瀏覽器執行其他任何操作(如添加/渲染圖像) – Andreas
我試圖找到強制瀏覽器只有在通話完成後才執行while循環。 – filipg