2012-09-26 5 views
0

jquery를 사용하여 이미지가 표시됩니다. 해당 이미지로 마우스를 가져 가면 마우스를 클릭 할 수 있도록 변경하고 클릭하면 다른 이미지를로드하는 것을 좋아합니다. 이것은 내 코드이며 작동하지 않습니다. 어떤 아이디어?이미지를 클릭하여 jquery에서 다른 이미지를로드하십시오.

html 코드 :

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

jsFiddle 또는 HTML 소스 코드의 일부가 도움이 될 것 같습니다. –

답변

2

몇 가지 문제가 새로운 이미지 var myImage = new Image();을 만들었지 만 당신이 src를 지정하지 않은

  • 발생 나중에 (그래서로드 이벤트 nev 어은

  • myImage32

는 또한 cpu.png

  • 같은 폴더 안에 있는지 확인 코드에있는 정의되지 않은) 트리거
  • 에 최소 권한 (644)가 보지 못했습니다.
  • 은 아직 캐시되지 않으며, 그렇지 않으면 이벤트 c가로드됩니다. 울드가 발생하지 :이 경우에 당신은 당신이 잊고있는 것처럼

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

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

원본 코드에 오타가있었습니다. 나는 그것을 바로 잡았다. div에 클릭 이벤트를 바인딩하고 이미지를로드하려고합니다. 작동하지만 작동하지 않아야합니다. 나는 지금 내가 뭘 잘못하고 있는지 몰라. – user1471980

1

오른쪽 박쥐가 보이는 complete 속성에 대해 확인하고로드 이벤트에 대해 정의 된 핸들러를 트리거 (아래 니펫을 참조)한다 로드 기능에 이미지 URL을 넣으십시오. .load('url/to/image/', function() ...

관련 문제