2009-04-06 7 views
0

Je ne reçois pas la valeur de la variable "img_srt" dans la fonction de chargement, est-ce que n'importe quel corps peut m'aider?Vous n'obtenez pas de valeur de variable?

$(document).ready(function() { 
    Get_var(); 
}) 

var img_srt='<div>address</div>'; 

function Get_var() { 
    $("<img />").attr("src","http://www.google.com/intl/en_ALL/images/logo.gif") 
     .load(function() { 
      if (this.height > 0) { 
       img_srt += "<div><img src='http://www.google.com/intl/en_ALL/images/logo.gif'/></div>";   
      } 
     }) 
    alert(img_srt); 
} 

Répondre

5

La fonction qui définit img_srt est appelée de manière asynchrone. Autrement dit, il peut être exécuté avant ou après votre instruction alert. Probablement après, car vous avez ce problème.

Essayez quelque chose comme ceci:

$('<img/>') 
    .attr('src', 'http://www.google.com/intl/en_ALL/images/logo.gif') 
    .load(function() { 
     var imageLoaded = this.height > 0; 

     if(imageLoaded) { 
      $(this).appendTo('#myDiv'); 
     } else { 
      $('<p/>').text('Unable to load image').appendTo('#myDiv'); 
     } 
    }); 
+0

mais j'ai besoin que img_srt à côté que la fonction de charge, pouvez-vous me donner une aide? –

+0

@john, pourquoi? Qu'essayez-vous de faire? – strager

+0

J'ai besoin de l'ajouter à une autre chaîne, qui contient d'autres balises html. –

Questions connexes