私は js の初心者で、このコードをきれいにするために助けが必要です。これは、実際のフォームのチェック ボックスではなく画像を使用してチェック ボックスを表示している changeImage の状況です。したがって、ユーザーが空のチェック ボックスをクリックすると、クリックすると画像がチェック マークに変わります。そして、もう一度クリックしてチェックを外すことができます。それはすべて機能しますが、これが問題です。
チェック ボックス イメージの 1 つをクリックした後、別のチェック ボックス イメージを変更するには、2 回クリックする必要があります。スムーズなワンクリックの状況にしたいのですが、何がそれを妨げているのかわかりません。ここに私が使用しているコードのスニペットがあります -
var newsrc = "img/checked.gif";
function changeImage() {
if(newsrc == "img/checked.gif") {
document.images["challenge"].src = "img/checked.gif";
document.images["challenge"].alt = "Completed";
newsrc = "img/checkBox.gif";
} else {
document.images["challenge"].src = "img/checkBox.gif";
document.images["challenge"].alt = "Unfinished";
newsrc = "img/checked.gif";
}
}
function changeImage2() {
if(newsrc == "img/checked.gif") {
document.images["goal1"].src = "img/checked.gif";
document.images["goal1"].alt = "Completed";
newsrc = "img/checkBox.gif";
} else {
document.images["goal1"].src = "img/checkBox.gif";
document.images["goal1"].alt = "Unfinished";
newsrc = "img/checked.gif";
}
}
スクリプトには全部で 6 つの画像があります。最初の2つだけを表示しています。あなたが与えることができるどんな助けも素晴らしいでしょう.