[操作法]色を選択(クリック)し、ページ内の任意の場所をクリックしてみて下さい。クリックされたHTML要素の背景色が変更できます。
★何も無い場所をクリックすれば、ページの背景色を変更できます。
■ ■ ■ ■ ■ ■ ■ ■
■ ■ ■ ■ ■ ■ ■ ■
![]()
<script language="JavaScript"><!--
var col; //選択した色
var old_obj = null;//1つ前に選択した色を記憶しておく変数
function ActiveColor(obj){ //色がクリックされた時
if(old_obj != null){
//1つ前に選択した色の周りに表示されているグレー色を消す
old_obj.style.backgroundColor
= "";
}
//選択した色の周りにグレー色を付ける
obj.style.backgroundColor = "darkgray";
col = obj.style.color;//選択された色を保存
old_obj = obj; //現在の選択色を、1つ前として格納
//色をクリックした時にBgChange()関数が実行されないように
//イベント階層の浮上(bubble up)をキャンセルする
window.event.cancelBubble
= true;
}
function BgChange(){ //ページ内のHTML要素がクリックされた時
var sElem = event.srcElement; //クリックされた要素を識別
sElem.style.backgroundColor = col;//その要素の背景色を設定
}
//--></script>
</head>
<body onclick="BgChange();">
<p>
<span style="color:red" onclick="ActiveColor(this);">■</span>
<span style="color:orange" onclick="ActiveColor(this);">■</span>
<span style="color:pink" onclick="ActiveColor(this);">■</span>
・・・(以下省略)・・・
</p>
END(99/7/9)