2012-09-26 2 views
0

J'ai une image affichée en utilisant la jquery. Lorsque la souris sur cette image, j'aime la souris pour changer pour être cliquable et quand on clique, j'aime charger une autre image. Ceci est mon code et ne fonctionne pas. Des idées?cliquez sur une image pour charger une autre image dans jquery

code html:

Code jquery:

$("#div1").click(function() { 
    var img_cpu = "http://192.168.101.1/cpu.png"; 
    var myImage = new Image(); 
    $(myImage).load(function() { 
     $("#div2").html(myImage)  
    }).error(function() { 
     $('#div2').hide(); 
    }) 
    .attr('src', img_cpu) 
}); 
+0

un jsFiddle ou un peu de votre code source HTML serait probablement utile –

Répondre

2

certains problèmes se sont produits

  • vous avez créé une nouvelle image var myImage = new Image(); mais vous ne l'avez pas spécifié un src plus tard (donc charger l'événement nev er déclenche)

  • myImage32 est définie nulle part dans votre code

en outre être sûr que cpu.png

  • est dans le même dossier
  • a la permission minimum (644) à être affiché
  • n'est pas déjà mis en cache, sinon charger l'événement c ould ne peut se produire: dans ce cas, vous devriez vérifier complete la propriété et déclencher le gestionnaire défini pour l'événement de charge (voir extrait de code ci-dessous)

$(myImage).one('load', function() { /* use one() */ 
    $("#div2").html(myImage32)  
}) 
.attr('src', img_cpu); 

if (!!myImage.complete) $(myImage).trigger('load'); 
+0

J'ai eu une faute de frappe sur le code d'origine. Je l'ai corrigé. Je lie un événement click à div et essaye de charger une image. Cela devrait marcher mais pas. Je ne fais pas maintenant ce que je fais mal. – user1471980

1

Dès le départ, il semble que vous oubliez pour mettre l'URL de l'image dans votre fonction de chargement. Il devrait ressembler à quelque chose comme .load('url/to/image/', function() ...

Questions connexes