0

5個あります。ボタン(画像)の。最初は全部オフのイメージ。一度にオンにできるのは 1 つだけです。したがって、ボタンを押すと、imgのsrcがon.pngに変わります。次に、これらのオンまたはオフボタンのいずれかを押すと、押されたボタンのソース img が on.png に変わり、他のすべての on img も off.png に変わります。

htmlコードは、

    <table cellspacing="0" style="padding:0%; margin:0% auto;">
<tr><td><img id="img1" src="off.png" height="30" width="30" onclick="off(this.id);" /></td><td>45:78</td></tr>
<tr><td><img id="img2" src="off.png" height="30" width="30" onclick="off(this.id);" /></td><td>45:78</td></tr>
<tr><td><img id="img3" src="off.png" height="30" width="30" onclick="off(this.id);" /></td><td>45:78</td></tr>
<tr><td><img id="img4" src="off.png" height="30" width="30" onclick="off(this.id);" /></td><td>45:78</td></tr>
<tr><td><img id="img5" src="off.png" height="30" width="30" onclick="off(this.id);" /></td><td>45:78</td></tr>
</table>

JavaScriptコードは、

    function off(a)
{
    var images = document.getElementsByTagName('img');
    for(var i = 0; i < images.length; i++)
    {
        var img = images[i];
        alert(img.src);
        if(img.src == 'on.png')
        {
            img.src = 'off.png';
        }
    }
    document.getElementById(a).src='on.png';
}

if() 条件が機能していません。解決策を提供し、そうでない理由を説明してください

働く。ありがとうございました!

4

4 に答える 4

10

img.src は、マークアップで src 属性が設定されているもの (on.png) ではなく、画像のフル パス (/full/path/to/on.png) を返します。代わりに次を使用します。

if (img.getAttribute('src') === 'on.png')
于 2013-08-09T14:34:26.570 に答える
0

使用できますmatch

img.src.match('on.png')

または正規表現を使用して(文字列の最後にあることを確認します):

img.src.match(/on\.png$/)
于 2013-08-09T14:36:36.543 に答える
0

ラジオグループの振る舞いについて説明しました。実装する必要はありません。標準要素を実装することはお勧めできません。このようなものを使用しない理由:

<radiogroup class="custom-radio">
    <input type="radio" name="myRadio" value="1">
    <input type="radio" name="myRadio" value="2">
    <input type="radio" name="myRadio" value="3">
    <input type="radio" name="myRadio" value="4">
    <input type="radio" name="myRadio" value="5">
</radiogroup>

ラジオボタンは好きなようにカスタマイズでき、javascript がなくても機能します。

于 2014-01-22T12:43:55.463 に答える