2016-08-12 10 views
-2

JavaScript関数があり、12回呼び出す必要があります。 は、だから私はこのようでした:javascript関数は1回だけ実行されます

ここで私は12枚の画像ています

<img id="img1" src=""> </img> 
<img id="img2" src=""> </img> 
<img id="img3" src=""> </img> 
<img id="img4" src=""> </img> 
<img id="img5" src=""> </img> 
<img id="img6" src=""> </img> 
<img id="img7" src=""> </img> 
<img id="img8" src=""> </img> 
<img id="img9" src=""> </img> 
<img id="img10" src=""> </img> 
<img id="img11" src=""> </img> 
<img id="img12" src=""> </img> 

ここで関数が定義されています

function addImageSource(id,another_variable) { 
     var imageSource = "http://..."+ another_variable + "test"; 
     $("#img" + id).attr("src", imageSource); 
    } 

そして、ここで私はそれを呼び出す:

  var itm_id = 1; 
      while(itm_id < 13){ 
        addImageSource(item_id, "another_variable"); 
        itm_id++ 
      } 

なぜこの関数は一度だけ実行されますか?なぜ誰かに教えてもらえますか?

+0

あなたが一度それを呼び出す場合、それは単一の時間のために呼び出されます。..それは驚くべきことではありません。 –

+0

なぜそれが複数回呼び出されると思いますか? – SLaks

+3

あなたは 'if'と' while'を混ぜたようです。 – JJJ

答えて

0

あなたはあなたがループの内部で関数呼び出しを配置する必要があり

for (var itm_id = 1; itm_id < 13; itm_id++){ 
    addImageSource(itm_id, "another_variable"); 
} 
+2

引数として 'item_id'の代わりに' itm_id'を使います。 –

0

のようなものをお勧めしますので、forループを使用する必要があります。今は、ループではなく、意思決定構造である条件を使用しています。

置き換えます。このようなforループで

var itm_id = 1; 
 
if (itm_id < 13){ 
 
    addImageSource(item_id, "another_variable"); 
 
    itm_id++ 
 
}

:あなたは代わりのために必要な

for (var itm_id=1 ; itm_id < 13 ; itm_id++) { 
 
    addImageSource(itm_id, "another_variable"); 
 
}

0

を場合:

for (var itm_id = 1 ; itm_id < 13; itm_id++) { 
     addImageSource(itm_id, "another_variable"); 
    } 

はまた、あなたがこのラインでミスを犯し:

addImageSource(item_id, "another_variable"); 

それは次のようになります。

addImageSource(itm_id, "another_variable"); 
関連する問題