以下のコードでは、画像をクリックして同じ画像を生成することができます。私は、以下のコードが1つのIDを扱うことから2つを処理することにどのように進むことができるかを理解しようとしています。私は、別々のIDをクリックして下の同じ画像を生成できるように、画像のセットを持つことができる必要があります。私はそれが動作するように感じることはできません。画像をクリックしてJavaScriptを使用して同じ画像を生成する
JS:
var imgCount = 5,
i;
for (i = 1; i <= 5; i++) {
document.getElementById('img' + i).addEventListener('click', setImg('img' + i), false);
}
function setImg(id) {
return function() {
var img = document.createElement('img');
if (imgCount) {
imgCount--;
img.src = document.getElementById(id).src;
document.getElementById('footer').appendChild(img);
};
}
}
HTML:
<img id="img1" src="http://lorempixel.com/200/100/city/1" />
<img id="img2" src="http://lorempixel.com/200/100/city/2" />
<img id="img3" src="http://lorempixel.com/200/100/city/3" />
<img id="img4" src="http://lorempixel.com/200/100/city/4" />
<img id="img5" src="http://lorempixel.com/200/100/city/5" />
<div id="footer"></div>
なぜIDの配列上でその関数を呼び出すことではありませんか? – ste2425