jquery problems with append



我有一个函数可以将图像加载并放置到一个空的div中(这是我自己完成的某种滚动菜单),并使用append函数将图像一个接一个地放置。在上传到服务器之前一切都很顺利。图片的顺序似乎失败了,就像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>

您似乎正试图通过循环计数器获取ajax调用中的图像,然后将这些图像元素添加到<div>元素中,但是ajax调用是异步的,图像#1的appendTo()可能在图像#2的appendTo之后调用,这取决于每个ajax调用何时返回(这反过来可能取决于图像的大小、网络流量等)

确保元素按服务器检查顺序排列的唯一方法是通过设置使ajax调用同步

async:false

最新更新