0

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)
});
4

2 に答える 2

2

いくつかの問題が発生しました

  • 新しいイメージを作成しましたvar myImage = new Image(); が、後で指定しませんでしたsrc(したがって、ロードイベントがトリガーされることはありません)

  • myImage32コードのどこにも定義されていません

さらに、cpu.png

  • 同じフォルダ内にあります
  • 表示するための最小限の権限(644)があります
  • はまだキャッシュされていません。そうしないと、ロードイベントが発生しません。この場合、completeプロパティを確認し、ロードイベント用に定義されたハンドラーをトリガーする必要があります(以下のスニペットを参照)。

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

 if (!!myImage.complete) $(myImage).trigger('load');
于 2012-09-26T15:22:46.893 に答える
1

すぐに、ロード関数に画像のURLを入力するのを忘れているようです。次のようになります.load('url/to/image/', function() ...

于 2012-09-26T15:23:15.120 に答える