我有一个功能来加载图像并将图像放入一个空div(它是我完成的某种滚动菜单)并将图像放在另一个后面我使用追加功能。一切顺利,直到上传到服务器。图片的顺序似乎失败了,就像append()没有将它们放在另一个之后。
loadContent = function(i){
var tytul = "#phot" + i;
var photurl = "../photos/" + activegal + "/" + i + ".JPG";
$.ajax({
url:photurl,
type:'HEAD',
error: function()
{
},
success: function()
{
newid = "photo"+i;
var img = $("<img />").attr({
src: photurl,
width:"120",
height:"90",
id: newid,
'class': "photon"
});
$(img).appendTo("#scrollbar");
counter++;
//$.delay(2);
});
};
<div id="scrollbar">
</div>
答案 0 :(得分:0)
似乎你试图通过循环计数器在ajax调用中获取图像,然后将这些图像元素添加到<div>
元素,但是ajax调用是异步的,图像的appendTo()可以在图像#2的appendTo之后调用#1,具体取决于每个ajax调用何时返回(这反过来可能取决于图像的大小,网络流量等)。
确保元素按服务器检查的顺序的唯一方法是通过设置使ajax调用同步:
async:false