0

私は JavaScript でゲームを作成していますが、次の点で助けが必要でした:

image = を変数にしたいのですが、必要なときにのみ画像を表示したいのです。

したがって、デフォルトで画像を非表示にしたいのですが、常に何をしても表示されます。私は初心者に過ぎず、このページとインターネット上の他のページを参考にしました: http://www.roseindia.net/javascript/javascriptexamples/javascript-hide-image.shtml

これまでのコードは次のとおりです。

<html> <head></head>
<body>
     <img src="http://wwcdn.weddingwire.com/static/vendor/55001_60000/56375/thumbnails/64x‌​64_SQ_1342622451725-Matangiaerial.jpg"
          id="islandimg">
     <script type="text/javascript">
     var playermoney = 10000;
     var islandarray = new array;
     var car = 500; var watch = 100;
     var diamond = 2000;
     function hideImage() { 
          if (document.getElementById) {
               document.getElementById('islandimg').style.visibility = 'hidden';
          }
     </script>
</body></html>

コードにはゲーム用の他のものが含まれていますが、無視してください。

4

5 に答える 5

3

これが機能しない理由はいくつかあります

  1. 画像は 404 を返します
  2. 他の述べたように、array未定義です
  3. }if ステートメントの後に末尾がありません

これはJSFiddleの作業バージョンです

これがコメント付きのJS部分です

 var playermoney = 10000;
 var islandarray = new Array(); //array was undefined. 
 // a more concise way to write this by the way is: var islandarray = [];
 var car = 500; var watch = 100;
 var diamond = 2000;
 function hideImage() { 
      if (document.getElementById) {
           document.getElementById('islandimg').style.visibility = 'hidden';
      }
 }//Missing end braces 

 hideImage(); //missing call to the function 

ちなみに、これらの問題を見つける最も簡単な方法は、Chrome / Firefox コンソールを見ることarrayです。変数の問題などについて文句を言うでしょう。

于 2012-11-09T21:14:31.180 に答える
2

ページの構文エラーのようです..

var islandarray = new array;

察するに

var islandarray = new Array(); また var islandarray = [] ;

また、関数を呼び出しているようには見えません。あなたはそれを宣言しているだけです..

hideImage(); // Call this function in your script 
             //  after taking care of the errors.. 

function hideImage() { 
          if (document.getElementById) {
               document.getElementById('islandimg').style.visibility = 'hidden';
          }
};  -- > Missing this as well

hideImage();  // Then call your function

フィドルをチェック

于 2012-11-09T21:11:11.880 に答える
1

jQueryを使用してこれを行うことができます:

function hideImage() {
  $('#islandimg').hide();
}


アップデート:

他のオプションは次のとおりです。

function hideImage() { 
    document.getElementById('islandimg').style.visibility = 'hidden';
}

またはこれ:

function hideImage() { 
    document.getElementById('islandimg').style.display = 'none';
}

最後の2つの違いは何ですか=> http://webdesign.about.com/od/css/f/blfaqhidden.htm

画像の表示状態を切り替えたいので、show関数も作成する必要があります。(jQuery を使用することtoggle()で、そのための関数を使用できます。)

画像を表示したくない場合はCSS、デフォルトで非表示にしてから、関数で表示状態を切り替えるJavaScriptこともできますshowImage()

#islandimg {
    visibility: hidden;
}

また

#islandimg {
    display: none;
}
于 2012-11-09T21:08:28.083 に答える
1

いくつかのコメント (私のものを含む) が示唆しているように、実際に関数を呼び出すことはありません。ここにあなたのスクリプトへの私の編集があります

<html> <head></head>
<body>
     <img src="http://wwcdn.weddingwire.com/static/vendor/55001_60000/56375/thumbnails/64x‌64_SQ_1342622451725-Matangiaerial.jpg"
          id="islandimg">
     <script type="text/javascript">
     var playermoney = 10000;
     var islandarray = new Array();
     var car = 500; var watch = 100;
     var diamond = 2000;
     function hideImage() {
          if (document.getElementById) {
               document.getElementById('islandimg').style.visibility = 'hidden';
          }
         }
// NOW CALL hideImage() TO MAKE IT DO SOMETHING
hideImage();
     </script>
</body></html>

http://jsfiddle.net/rVnfF/

于 2012-11-09T21:11:46.223 に答える
0

以前の投稿はすでにあなたの質問に答えています。ページが読み込まれる関数を呼び出したい場合は、次のコードを挿入する必要があります。

<body onload="hideImage();">

ただし、他のエラーを修正します。

var islandarray = new Array();

そして最後の}

そうしないと、jscript が読み込まれません。エラーをチェックするには、Firefox と Firebug (またはその他のツール) を使用する必要があります。

于 2012-11-09T21:20:59.923 に答える