1

画像の存在に応じて、画像または静的マップ画像のいずれかを表示しようとしています。パスはプログラム内で動的であるため、画像パスをJavaスクリプト関数に渡したいと思います。したがって、画像が指定されたパスに存在しない場合は、静的なGoogleマップ画像を表示します。
私はそれを行うためにそのコードを使用していますが、機能していないようです。手伝って頂けますか?

      function initialize() {
        var img = document.getElementById("super");
        var mdata = $('#image_div');
        var mpath = mdata .data('path');
        img.src =mpath ;

        img.onerror = function( ) {
        document.getElementById("super").style.display = "block";
        alert("failed to load");
    }
    img.onload = function( ) {
        alert("do nothing");
    };
}

これがフィドルです:http: //jsfiddle.net/H2gwu/2/ http://jsfiddle.net/H2gwu/3/

4

2 に答える 2

2

修正されたフィドル:http://jsfiddle.net/HCC6V/

私が修正したいくつかのエラー:

  • mdataの後のスペース
  • 閉じたことのない機能ブロックを開いた
  • srcの宣言が早すぎます:画像がキャッシュにある場合、loadイベントを見逃す可能性があります
  • noneCSSの周りの悪い引用符
  • 画像が見つからない場合、地図を表示するための呼び出しはありません

修正されたJS:

var img = document.getElementById("super");
var mdata = $('#image_div');
var mpath = mdata.data('path');
img.onload = function( ) {
    alert("do nothing");
}
img.onerror = function( ) {
    document.getElementById("super").style.display = "block";
    alert("failed to load");
    $('#google_map').show();
}
img.src =mpath ;

CSSで:

display: none;

それ以外の

display: "none";
于 2012-12-01T18:25:50.113 に答える