2010-09-23 5 views
0

je ne sais pas pourquoi l'élément est pas .. im anime tout ce qui suit est le code de jquery.comAnimer 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'); 
}); 
}); 

toute aide s'il vous plaît .. :)

+0

Il semblerait que vous utilisiez .load incorrect. Voir la documentation: http://api.jquery.com/load/ –

+0

les fonctions de chargement fonctionnent bien .. après que les images ont été téléchargées, la charge prendra effet sauf l'animation .. :) –

+1

@Mike - Il y a * un autre * '.load()' méthode pour l'événement: http://api.jquery.com/load-event/ –

Répondre

0

essayer cette façon :

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(); 

      }); 
    } 

});