私は現在私の大学でJavaScriptを学んでいるので、コードがひどい場合はお詫びします。私はそれが初めてです。appendChildを使用して多くのonclickから1つのイメージのみを変更するにはどうすればよいですか?
appendChildを使用して1つの画像onclickを変更するだけの問題があります。私は、rngが< = 0.89の画像をクリックすると、その画像だけが別の画像に変更されてしまうのです。私が試したすべてのものが、rngが< = 0.89だった画像をすべて変更しました。
例:0.9より大きい数字を丸めた最初のイメージ(img1)をクリックします。 (img2)が(0.9より大きい)同じものをロールした場合、それも変更されます。私はimg1を変更したいだけです。ここに私のコードのいくつかは、全体のことは、約150行であるとしてのみであり、私は、このビットはややも渡って私のポイントを取得すると思う:私が試したすべてのものは画像のみを変更、私が言ったように
function myFunction() {
var rng=Math.random();
var rng2=Math.random();
if (rng <= 0.89){
var img1=document.createElement('img');
img1.src='card2.gif';
img1.id="bad1";
img1.onclick = goodbye;
document.getElementById('card').appendChild(img1);
}
if (rng2 <= 0.89){
var img2=document.createElement('img');
img2.src='card2.gif';
img2.onclick= goodbye;
img2.id="bad2";
document.getElementById('card2').appendChild(img2);
}
if (rng >= 0.9) {
var img1=document.createElement('img');
img1.src='card3.gif';
img1.id="good1";
img1.onclick = hello;
document.getElementById('card').appendChild(img1);
}
if (rng2 >= 0.9){
var img2=document.createElement('img');
img2.src='card3.gif';
img2.onclick= hello;
img2.id="good2";
document.getElementById('card2').appendChild(img2);
}
}
ことrngが< = 0.89のすべての画像を変更しました。答えはおそらく本当に明白ですが、私はこう言っています。
必要であれば、あなたはすでに、彼らがクリックしたとき ')('のMyFunctionを呼び出し要素を持っています。次に、新しい 'img'要素を追加する条件を満たす場合は、乱数を計算します。そして、ウルの問題は、その常に<= 0.89だけに行くと他のものではないですか? – Searching
乱数生成器はうまく動作し、回転する数値に基づいて生成したい画像を生成します。 myFunction()はonLoadと呼ばれます。私の問題は、onclickイベントをクリックした画像だけを変更することです。試したことがすべて同じ番号グループを転がったすべての画像を変更してしまったため、私はそれを行う方法を理解できません。例:0.9より大きい数値を丸めた最初のイメージ(img1)をクリックします。 (img2)が(0.9より大きい)同じものをロールした場合、それも変更されます。私はimg1を変更したいだけです。 – FuzzyBlueLights
このjsfiddleをチェックして、これがあなたがhttps://jsfiddle.net/c4f1bkua/1/をやっていることを教えてもらえますか? – Searching