dポイントプレゼントキャンペーン実施中!

クリックごとに文字色が変化するプログラムを作りたいのですがchangeColor()の部分の処理がうまく動作しません。おそらくif文の条件の表記が間違っていると思うのですが、どのように書き換えればいいのでしょうか?

<html>
<head>
<script language="JavaScript">
<!--

function changeColor()
{
if(event.srcElement.style.color="#ff0000")changeBlue();
else changeRed();
}

function changeRed()
{
event.srcElement.style.color="#ff0000";
}

function changeBlue()
{
event.srcElement.style.color="#0000ff";
}

//-->
</script>

</head>
<body >
<table border="10" width="100" height="100" align="center" valign="top" bgColor="#ffffff">
<tr>
<td><a href="javascript:void(0)"onClick="changeColor()"><font size="7">A</font></a></td>
<td><a href="javascript:void(0)"onClick="changeColor()"><font size="7">B</font></a></td>
</tr>
</table>
</body>
</html>

A 回答 (3件)

>if(event.srcElement.style.color="#ff0000")



問題はこれこれ。

if(event.srcElement.style.color=="#ff0000")

こうしないと。
colorに#ff0000が代入されていつもtrueになってしまいますよ。

私もよくやるミスです。(^^;
結構見つけにくかったりしますね。
    • good
    • 0

BlueRayさんのおっしゃっているとおり、この場合のif文は中各個で囲みましょう。


基本を押さえてくださいね。
それと、
<a href="javascript:void(0)"onClick="changeColor()">
のonClickの前にスペースがないので、正常に動作していませんでした。
    • good
    • 0

>if文の条件の表記が間違っていると思うのですが


>
>if(event.srcElement.style.color="#ff0000")changeBlue();
>else changeRed();

そうですねぇ・・・

if(event.srcElement.style.color="#ff0000"){changeBlue();}
else{changeRed();}

こうしてみては、どうでしょうか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!