2010-09-23 56 views
0

我不知道爲什麼該元素是不動畫..即時通訊只是下面的是從jquery.com動畫jQuery中

$(document).ready(function() { 

var theW = 249 * slideThumbCount; 

$("div.bCont").css("width",theW).css("left","0px"); 
for(i = 0;i<slideThumbCount;i++) 
{ 
    $("<div>").attr("class","bsThumb bs_" + i).appendTo("div.bCont"); 
    $("<img />").load(function(){ 

    }).attr("src","imgDirectory/scrollingImages/img_"+i+".png").appendTo("div.bs_"+i); 
} 

$("div.bCont").animate({left:50},5000,function(){ 
    alert('done'); 
}); 
}); 

任何幫助,請代碼.. :)

+0

看起來像你正在使用.load錯誤。請參閱文檔:http://api.jquery.com/load/ – 2010-09-23 14:34:11

+0

加載函數工作正常..在圖像下載後,加載將生效,除了動畫.. :) – 2010-09-23 14:49:28

+1

@Mike - 有*另一個*'.load()'事件的方法:http://api.jquery.com/load-event/ – 2010-09-23 15:05:38

回答

0

嘗試這種方式:

var slideThumbCount = 3; // ??? 

$(document).ready(function() { 

    var theW = 249 * slideThumbCount, 
     bCountRef = $("div.bCont"), 
     slideThumbCountImage = 0, 
     onEndLoadImage = function() { 

     // check this 
     $(bCountRef).find("div.bsThumb").show(); 

     $(bCountRef).animate({left: 50}, 5000, function() { 
      alert('done'); 
     }); 

     }; 

    $(bCountRef).css("width", theW).css("left", "0px"); 

    for(i = 0; i <slideThumbCount; i++) { 

     $("<img />") 
      .attr("src", "imgDirectory/scrollingImages/img_" + i + ".png") 
      .load(function(ev){ 

       $('<div style="display:none">') 
       .attr("class","bsThumb bs_" + i) 
       .append(this) // <----- 
       .appendTo("div.bCont"); 

       // control for completion of the loading images 
       slideThumbCountImage++; 
       if (slideThumbCountImage == slideThumbCount) 
        onEndLoadImage(); 

      }); 
    } 

});