特定の要素の背景色をクリックした色に変更

特定の色をクリックすることで、特定の要素の背景色を、クリックした特定の色に変更するサンプル。
クリックしたとき、changeBackgroundColor 関数を呼び出す。引数には、背景色を変えたい要素のIDと、背景色を指定する。

実装例

  • Black
  • Purple
  • Red
  • Blue
  • Green
  • Orange
  • Pink
  • Lime
  • Aqua
  • Yellow
  • Beige

特定の色をクリックすると、ここの背景色を変更する。

実装例の動作について

「Black」と書かれた黒色の部分をクリックすると、ベージュの背景色が黒色に変わる。
他の色も同様にクリックで動作する。

ソースコード

JavaScript

<script type="text/javascript">
<!--
function changeBackgroundColor( id, color ){
    document . getElementById( id ) . style . backgroundColor = color;
}
// -->
</script>

CSS

<style type="text/css">
<!--
ul#change-background-color {
    list-style-type: none;
}
ul#change-background-color li {
    float: left;
    margin: 0px;
    padding: 0px;
    width: 50px;
    text-align: center;
    font-size: 10px;
    cursor: pointer;
}
-->
</style>

HTML

<div id="cbc" style="background-color:beige;height:150px;">
<ul id="change-background-color">
<li style="background-color:black;color:white;" onClick="changeBackgroundColor( 'cbc', 'black' )">Black</li>
<li style="background-color:purple;color:white;" onClick="changeBackgroundColor( 'cbc', 'purple' )">Purple</li>
<li style="background-color:red;color:white;" onClick="changeBackgroundColor( 'cbc', 'red' )">Red</li>
<li style="background-color:blue;color:white;" onClick="changeBackgroundColor( 'cbc', 'blue' )">Blue</li>
<li style="background-color:green;color:white;" onClick="changeBackgroundColor( 'cbc', 'green' )">Green</li>
<li style="background-color:orange;color:black;" onClick="changeBackgroundColor( 'cbc', 'orange' )">Orange</li>
<li style="background-color:pink;color:black;" onClick="changeBackgroundColor( 'cbc', 'pink' )">Pink</li>
<li style="background-color:lime;color:black;" onClick="changeBackgroundColor( 'cbc', 'lime' )">Lime</li>
<li style="background-color:aqua;color:black;" onClick="changeBackgroundColor( 'cbc', 'aqua' )">Aqua</li>
<li style="background-color:yellow;color:black;" onClick="changeBackgroundColor( 'cbc', 'yellow' )">Yellow</li>
<li style="background-color:beige;color:black;" onClick="changeBackgroundColor( 'cbc', 'beige' )">Beige</li>
</ul>
<div style="clear: both; padding: 30px;">
<p>特定の色をクリックすると、ここの背景色を変更する。</p>
</div>
</div>

解説

JavaScript

<script type="text/javascript">
<!--
function changeBackgroundColor( id, color ){ // 引数を変数idと変数colorに代入
    document . getElementById( id ) . style . backgroundColor = color; // id属性の値が、変数idの値である要素の背景色を変更
}
// -->
</script>

CSS

<style type="text/css">
<!--
ul#change-background-color { /* IDが、change-background-color の ul 要素 */
    list-style-type: none; /* リストマーカーなし */
}
ul#change-background-color li { /* IDが、change-background-color の ul 要素内の li 要素 */
    float: left; /* 右に回り込ませて、横並び */
    margin: 0px; /* 外側の余白なし */
    padding: 0px; /* 内側の余白なし */
    width: 50px; /* 横幅:50px */
    text-align: center; /* テキストの位置:センター */
    font-size: 10px; /* 文字サイズ:10px */
    cursor: pointer; /* マウスのカーソルの形:ポインタ */
}
-->
</style>

HTML

<div id="cbc" style="background-color:元の色を指定;height:150px;"><!--この要素の背景色を変更する-->
<ul id="change-background-color"><!--色の順不同リスト-->
<li style="background-color:変更後の背景色を指定;color:このli要素内の文字色を指定;" onClick="changeBackgroundColor( 'cbc', '変更後の背景色を指定' )">変更後の色の名前</li>



</ul>
<div style="clear: both; padding: 30px;">
<p>特定の色をクリックすると、ここの背景色を変更する。</p>
</div>
</div>

元の背景色、変更後の背景色ともに、「 red 」のようなカラーネームでも、「 #ff0000 」のようなカラーコードでも、どちらでも指定可能。

onClick="changeBackgroundColor()"

イベント属性の onClick で、JavaScript の changeBackgroundColor() を呼び出している。

changeBackgroundColor()

changeBackgroundColor()の引数は、( 背景色を変える要素のID, 背景色 )となっている。

スポンサード リンク

カテゴリー: JavaScript, , 逆引き パーマリンク