http://www.west-mira.jp/javascript/html/4/10/lib …
上記URLで配布されているスクリプトで
選択したカラーを【背景】ではなく【テーブル】に反映させたいのですが
具体的な記述方法が解りません。
どなたか改造をお願い出来ないでしょうか?(※改造OKのスクリプトです)
上記スクリプトを使いたい理由は
・ポップアップメニューの各項目に背景色が表示される
・ポップアップメニューで背景色を選択出来る
の2点です。
なので、もし他に、この2点+【テーブルに反映】されるスクリプトが
ありましたら教えて下さい。
どうか宜しくお願い致します。
No.1
- 回答日時:
document.bgColor=iro; の部分が背景色を変えているところなので、その対象をお望みのもの(例えばテーブルの背景)となるようにを修正すればよいです。
例示のサイトでは
>スクリプトについての疑問や質問などがある方はQ&Aをご覧下さい。
とありますし、さらには
>▲基礎知識、▲基本操作、▲その他
などの基本的な説明も併設してあるようですので、そちらもご覧になるとよろしいかと思います。
この回答への補足
試行錯誤して以下の状態の、背景ではなく
テーブルに反映させる所までは出来ました。
(JSはコピペ利用ばかりなので、色々間違ってる気がしますが…)
で、id="t1"を付けたテーブルが複数ある場合
1個目(no.1)のテーブルにしか反映されないのですが…
これを、id="t1"要素のあるテーブル全て(no.2、no.3~)に
反映させるには、どうすればよいのでしょうか?
御教示頂けれると助かります。
どなたか宜しくお願い致します。
<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
ColorsRgb=new Array();
ColorsName=new Array();
//1番目の色の値を指定(色名、もしくはRGB値で)
ColorsRgb[0]='black';
//1番目の色の名前を指定
ColorsName[0]='黒色';
//2番目の色の値を指定(色名、もしくはRGB値で)
ColorsRgb[1]='gray';
//2番目の色の名前を指定
ColorsName[1]='灰色';
//3番目の色の値を指定(色名、もしくはRGB値で)
ColorsRgb[2]='silver';
//3番目の色の名前を指定
ColorsName[2]='銀色';
//ポップアップメニューの項目で背景色を変更する
BgFlag=1;
function BgColorChange(t1)
{
iro=document.form1.sele1.selectedIndex;
iro=document.form1.sele1.options[iro].value;
document.getElementById('t1').style.backgroundColor=iro;
}
//-->
</script>
</head>
<body>
<form name="form1">
<select name="sele1" onChange="BgColorChange();">
<option>
<script language="JavaScript">
<!--//Copyright (C) WEST MiRa http://www.west-mira.jp
BgMoji='';
for(i=0; i<ColorsRgb.length; i++)
{
BgMoji='\t<option value="' + ColorsRgb[i] + '"';
if(BgFlag == 1)BgMoji+=' style="background-color:' + ColorsRgb[i] + '"';
BgMoji+='>' + ColorsName[i];
document.write(BgMoji);
}
//-->
</script>
</select>
</form>
・ ・ ・ <br>
<br>
<table width="200" border="1" cellspacing="0" cellpadding="0" height="100" id="t1">
<tr>
<td align="center" width="100">no.1</td>
<td align="center" width="100"> </td>
</tr>
</table>
<br>
<table width="200" border="1" cellspacing="0" cellpadding="0" height="100" id="t1">
<tr>
<td align="center" width="100">no.2</td>
<td align="center" width="100"> </td>
</tr>
</table>
<p> </p>
</body></html>
No.2ベストアンサー
- 回答日時:
idは基本的に個別のものでなければならないので、重複して同じidを設けるのは不可です。
かわりにclassを利用して、class="t1"と指定することにしましょう。
(class="t1"でないものの背景色がかわりません)
オプションをセットする部分をオリジナルからまったく変えてしまいましたが…
<html>
<head>
<script language="JavaScript">
<!--
window.onload = function(){
var col, colN, count, i, elm;
col = 'white,gray,black,silver,maroon,red,purple,fuchsia,green,lime,olive,yellow,navy,blue,teal,aqua'.split(',');
colN = '白色,灰色,黒色,銀色,茶色,赤色,紫色,ピンク,緑色,ライム,オリーブ,黄色,紺色,青色,青緑,水色'.split(',');
elm = document.getElementById('sel1');
count = col.length>colN.length?colN.length:col.length;
for (i=0; i<count; i++) {
elm.options[i] = new Option(colN[i],col[i]);
elm.options[i].style.backgroundColor = col[i];
}
}
function BgChange(e) {
var col = e.options[e.selectedIndex].value;
var tbl = document.getElementsByTagName('TABLE');
for (var i=0; i<tbl.length; i++){
if (tbl[i].className=='t1') tbl[i].style.backgroundColor=col;
}
}
//-->
</script>
</head>
<body>
<select name="sele1" id="sel1" onChange="BgChange(this);">
</select>
<p>
<table width="200" border="1" cellspacing="0" cellpadding="0" height="100" class="t1">
<tr>
<td align="center" width="100">no.1</td>
<td align="center" width="100"> </td>
</tr>
</table>
<br>
<table width="200" border="1" cellspacing="0" cellpadding="0" height="100">
<tr>
<td align="center" width="100">no.2</td>
<td align="center" width="100"> </td>
</tr>
</table>
<br>
<table width="200" border="1" cellspacing="0" cellpadding="0" height="100" class="t1">
<tr>
<td align="center" width="100">no.3</td>
<td align="center" width="100"> </td>
</tr>
</table>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ブラウザ) zoomのバーチャル背景が選べない 4 2022/12/08 12:38
- Excel(エクセル) こんなことできますか?例えば、sheetに貼り付けた図形のタイトルを、セルA1の文字で表示する。 5 2022/04/22 15:25
- Access(アクセス) ACCESS2019 ナビゲーションウィンドウの色 1 2022/05/10 17:15
- 写真・ビデオ スマホ(シャープSENSE7-53C)の背景色を変更したい 2 2023/08/09 11:50
- ホームページ作成・プログラミング ウィンドウズ11にしたら背景画面が黒くなり直せません 1 2023/04/15 21:55
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- HTML・CSS CSSでサイトの背景に画像を組み込みたいのですが反映されません 2 2022/11/22 16:21
- Excel(エクセル) エクセルのマクロを教えてください シート内の背景色が赤のセルだけを残して 他のセルは削除したいです。 3 2023/07/12 12:26
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- ノートパソコン AMDディスプレイ設定 暖色見にくい 2 2023/07/18 17:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<JavaScript>tableタグを入力不...
-
javascriptで画像をテーブルに...
-
selectのonChangeが動作しません
-
【jQuery】tableループ内のIDの...
-
クリックごとに文字色が交互に...
-
JQueryでテーブルの行を追加し...
-
jquery.csv2table.jsのテーブル
-
javascriptでクリックするごと...
-
プルダウン 項目が多いので先頭...
-
<input>の選択肢をプルダウンメ...
-
TextBoxに半角数字以外を入れた...
-
【jQuery】input nameの文字列...
-
value内に変数を入れたい
-
二つの入力欄に、同時に同じ文...
-
return trueとreturn falseの用...
-
チェックボックスのON/OFFでVal...
-
JavaScriptにて動的に配列を作...
-
正規表現で複数マッチ条件で悩...
-
%の計算の仕方
-
一覧から選択した行の行番号を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<JavaScript>tableタグを入力不...
-
selectのonChangeが動作しません
-
画面表示とともに、テーブルの...
-
テーブルの行数を可変長にした...
-
javascriptで画像をテーブルに...
-
テキストエリアに入力した改行...
-
プルダウンメニューを表の中に...
-
【jQuery】tableループ内のIDの...
-
javascriptで<table>背景色の取得
-
csvファイルのデータを変数とし...
-
javascriptでクリックするごと...
-
Javascriptでテーブルタグの座...
-
table内で上下するfloating men...
-
tbody要素のinnerHTMLが書き換...
-
テーブルのセルのクリック時、...
-
外部CSVをサイトに読み込み表示...
-
Table内TDの子要素を移動させた...
-
指定のテキストをクリックする...
-
javascript でテーブル操作
-
クリックごとに文字色が交互に...
おすすめ情報