1

以前に質問を投稿し、ここの素晴らしい人々のおかげで回答を得ましたが、運が良ければ、それほど簡単ではありません. クリックすると画像を切り替えるコードがありますが、最初にクリックすると画像は切り替わりませんが、チェックボックスはオンになっています。少なくとも推論は素晴らしいでしょう:)

<script type="text/javascript">
function func()
{
    var img1= document.getElementById("img1");

    if(img1.name == "on")
    {
        img1.src = "images/" + "img1a.jpg";
        img1.name = "off";
    }
    else
    {
        img1.src = "images/" + "img1.jpg";
        img1.name = "on";
    }
}
</script>



</head>

<body>
<form>
<p align="center">
<input type="checkbox" name="interest1" id="interest1" value="x">
<input type="checkbox" name="interest2" id="interest2" value="x">
<input type="checkbox" name="interest3" id="interest3" value="x"></p>   
<p align="center">
<label for="interest1" id="label-interest1"><img src="images/img1.jpg" width="781" height="800" onclick="func()" id="img1" /></label>
<label for="interest2" id="label-interest2"><img src="/images/img2.jpg" width="781" height="800" /></label>
<label for="interest3" id="label-interest3"><img src="/images/img3.jpg" width="781" height="800" /></label></P><!-- code making checkbox be an image-->
</form>
4

2 に答える 2

2

「オン」の最初の状態が欠けています。これをマークアップに追加してみてください

 <img src="images/img1.jpg" width="781" height="800" onclick="func()" name="on" id="img1" />

逆に、次のような条件文でこれを JavaScript で処理できます。

if(img1.name === undefined || img1.name == "on")

name 属性が存在しない最初の状態を処理します。

于 2012-12-18T23:38:00.117 に答える
1

img要素には属性がないためname、最初にクリックされたときに「オン」条件と一致しません。name 属性を追加することもできますが (これは機能しますが、html が無効になります)、関連付けるチェックボックスから値を取得することをお勧めします。このようなもの:

var checkboxid = img1.parentNode.getAttribute("for");
document.getElementById(checkboxid).checked

このようにして、チェックボックスと同期していることを確認できます。

于 2012-12-18T23:46:08.620 に答える