jquery附加问题

时间:2014-09-03 16:08:12

标签: javascript jquery append

我有一个功能来加载图像并将图像放入一个空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>

1 个答案:

答案 0 :(得分:0)

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

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

async:false