ホーム >>> HTML整理ノート

classNameプロパティを利用したスタイルの入れ替え

classNameプロパティ
・要素のclass名を変更できれば、そのclass名に該当するスタイルに変更できる。
 classNameプロパティを使えばclass名を設定できる。

Sample

■下のボタンにマウスを乗せると、そのボタンのスタイルが変わります。またクリックすると下の囲み枠のスタイルを変更できます。

ここのスタイルを入れ替えます。
スタイルをいくつか定義しておき、Scriptでclass名を変更すれば適用スタイルが変わる。

 

■クリックしたセルだけ反転する(スタイルの切り替えを利用)

大阪府 広島県 鳥取県 北海道

Sample Source......................................................................>>>

<style TYPE="text/css">
<!--
  .sample button,table {cursor:hand;font:12pt 'Arial Black'}
  .over {color:magenta;background-color:linen}
  .D0 {width:70%;border:solid gray}
  .D1 {width:300px;color:blue;background:lavender;border:1px dashed navy}
  .D2 {width:12cm;color:pink;background:black}
  .D3 {width:70%;color:navy;background:thistle;border:3px double red}
  .SellA {color:black;background:ivory}
  .SellB {color:yellow;background:black}
-->
</style>
<script language="JavaScript"><!--
function CssChange(n){
 D.className = "D" + n;   //囲み枠のclass名を変えることでスタイルを変更
}

function SellCssChange(){
 if (event.srcElement.className == "SellA") {
  event.srcElement.className = "SellB";  //セルのclass名を変える
 }
}
function SellClear(){
 if (event.srcElement.className == "SellB") {
     event.srcElement.className = "SellA";
  }
}
//--></script>
</head>

<body>
<p>■下のボタンにマウスを乗せると、そのボタンのスタイルが変わります。
          またクリックすると下の囲み枠のスタイルを変更できます。</p>
<h3 align="center">
 <button onmouseover="this.className='over';" onmouseout="this.className='';"
         onclick="CssChange(0);">デフォルトのStyle</button>
 <button onmouseover="this.className='over';" onmouseout="this.className='';"
         onclick="CssChange(1);">Style 1</button> 
 <button onmouseover="this.className='over';" onmouseout="this.className='';"
         onclick="CssChange(2);">Style 2</button> 
 <button onmouseover="this.className='over';" onmouseout="this.className='';"
         onclick="CssChange(3);">Style 3</button>
</h3>
<div id="D" class="D0">
 <p>ここのスタイルを入れ替えます。<br>
 スタイルをいくつか定義しておき、Scriptでclass名を変更すれば適用スタイルが変わる。</p>
</div>

<p>■クリックしたセルだけ反転する(スタイルの切り替えを利用)</p>
<table border="1" cellpadding="6" cellspacing="3" 
       onclick="SellCssChange();" onmouseout="SellClear();">
  <tr>
    <td class="SellA">大阪府</td>
    <td class="SellA">広島県</td>
    <td class="SellA">鳥取県</td>
    <td class="SellA">北海道</td>
  </tr>
</table>