重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

http://www.west-mira.jp/javascript/color/Tbgcolo …

上記のページを参考にスクリプトを設置し、動作テストに問題がかったので、フォームボタンを画像にした所、上手く行かなくなりました。

詳細:
背景色を変えたいテーブルの中にインラインフレームを表示させてあるのですが、フォームボタン(画像)をクリックするとページ全体を更新、の繰り返しになり理想通りの背景色変更になりません。環境はMac9.2+IE5.2です。

正常な動作+フォームボタン(画像)を再現したいのですが、御教示頂けると助かります。
(上記のサイトで質問するのが一番なのでしょうが、サポートを行なっていないようなのでこちらで質問しています)

A 回答 (2件)

こんばんわ。




その画像は、クリックした時に背景色を変更させる為だけに使うのですか?

画像をボタンとして使用しているからではないでしょうか。
(フォームの送信をしてしまっているので更新されてしまう。)
以下のようにしてみて下さい。

<img src="../img/5.gif" width="69" height="49" onClick="my_bgcolor();">

または、

<a href="#" onClick="my_bgcolor();"><img src="../img/5.gif" width="69" height="49"></a>


あと、JavaScriptの条件判定部分が間違っていると思いますので以下の通りに修正して下さい。

function my_bgcolor()
{
a=Math.floor(Math.random()*my_color.length);
if ((document.getElementById) && (!document.all)) {
document.getElementById("lay0").style.backgroundColor=my_color[a];
}
else if(document.all) {
document.all("lay0").style.backgroundColor=my_color[a];
}
}


それでは。
    • good
    • 0
この回答へのお礼

理想通りの表示になりました。
ありがとうございました。

お礼日時:2005/01/21 20:37

こんばんは。



ソースは載せて頂けませんか?
(^^ゞ

この回答への補足

お世話になります。
不要なタグが入っているかとは思いますが、下記にコピペします。フォームボタンは画面下部にあります。
御確認頂けると助かります。


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">

<script language="JavaScript">
<!--//Copyright (C) WEST MiRa http://www.west-mira.jp

my_color=new Array();

//使用したい背景色を指定する
my_color[0]="#0099CC";
my_color[1]="#a52a2a";
my_color[2]="#336699";
my_color[3]="#993366";
my_color[4]="#CC3333";
my_color[5]="#FF9900";
my_color[6]="#FFCC33";
my_color[7]="#669933";
my_color[8]="#336633";
my_color[9]="#CCCC99";
my_color[10]="#CCCCCC";
my_color[11]="#333333";

function my_bgcolor()
{
a=Math.floor(Math.random()*my_color.length);
if((document.getElementById) && (!document.all))
document.getElementById("lay0").style.backgroundColor=my_color[a];
else if(document.all)
document.all("lay0").style.backgroundColor=my_color[a];
}

//-->
</script>

</head>

<body bgcolor="#FFFFFF" text="#000000">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
<tr>
<td align="center" valign="middle">
<table border="0" id="lay0" style="position:relative;visibility:visible;" width="494" cellspacing="0" cellpadding="0" bgcolor="#0099FF">
<tr>
<td width="494" height="30"><img src="../img/1.gif" width="494" height="30"></td>
</tr>
<tr>
<td>
<table width="494" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="38"><img src="../img/2.gif" width="38" height="300"></td>
<td width="420" bgcolor="#FFFFFF"><iframe src="test.html" width="420" height="300" align="center" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0" name="test"></iframe></td>
<td width="36"><img src="../img/3.gif" width="36" height="300"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="center" background="../img/4.gif" height="100" width="494">
<table width="139" border="0" cellspacing="0" cellpadding="0" height="49">
<tr>
<td width="69">
<form>
<input type="image"src="../img/5.gif" width="69" height="49" onClick="my_bgcolor();" name="button">
</form>
</td>
<td width="69"><img src="../img/6.gif" width="69" height="49"></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body></html>

補足日時:2005/01/21 18:52
    • good
    • 0

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