0

私はJSに関してはランク初心者です。

画像をクリックすると別の画像に切り替わるように、JavaScriptを書き込もうとしています。次に、もう一度クリックすると、画像が元の画像に戻ります。これを実現するために私が書いた簡単な Javascript 関数を次に示します。

function diffImage(item) 
{
if(document.getElementById(item).src == "blank.jpg")
    {
        document.getElementById(item).src = "black.jpg";
    }
else
    {
        document.getElementById(item).src = "blank.jpg";
    }

}

問題の画像のタグは次のとおりです。

<img src="black.jpg" id="image1" onclick=diffImage("image1")>

残念ながら、それは機能していません。私は何を間違っていますか?

4

3 に答える 3

1

Dragon66 と snies によるコメントで言及されている引用の問題に加えて、javascript で呼び出すと画像名だけでなく完全な URL が返されるため、if条件ステートメントが期待どおりに機能しない場合があります。そのため、以下のようなイメージ名を取得するには、splitpopelement.srcを使用する必要があります。

function diffImage(me){
    if(me.src.split("/").pop() === "blank.jpg"){
        me.src = "black.jpg";
    }
    else {
        me.src = "blank.jpg";
    }
}

そしてあなたのHTMLは...

<img src="black.jpg" id="image1" onclick="diffImage(this);">
于 2012-06-25T02:37:33.920 に答える
0

これを試してください:http://jsfiddle.net/soparrissays/7PxFH/

于 2012-06-25T03:48:36.757 に答える
0
function diffImage(img) 
{
    if(img.src.match(/blank/)) img.src = "black.jpg";
    else img.src = "blank.jpg";
}

HTML

<img src="black.jpg" id="image1" onclick=diffImage(this) />​

デモ。

于 2012-06-25T04:02:18.723 に答える