expression() :hover

<p>要素(またはその他の要素)で:hover擬似クラス(マウスオン時のスタイル付け)をexpression()で再現。

CSS2

人はなぜ生きるのか?”については、極たまーに(嫌なことがあった時などに)考えたりするわけだが、今まで「これ」といった解答には至っていない。たぶん似た問いの”何のために生きるのか?”や”人生の目的は?”などに答えられる人なら、あるいは解っているのかもしれない。

  1. p.css2:hover {
  2. background: #efe;
  3. border-color: #393;
  4. }

expression (IE6用)

人はなぜ生きるのか?”については、極たまーに(嫌なことがあった時などに)考えたりするわけだが、今まで「これ」といった解答には至っていない。たぶん似た問いの”何のために生きるのか?”や”人生の目的は?”などに答えられる人なら、あるいは解っているのかもしれない。

  1. p.exp.hover {
  2. behavior: expression(
  3. this.onmouseover = function(){ this.style.backgroundColor = '#efe', this.style.borderColor = '#393' },
  4. this.onmouseout = function(){ this.style.backgroundColor = '#fff',  this.style.borderColor = '#666' },
  5. this.className += "expoff" );
  6. }
  7. p.expoff {
  8. behavior: none;
  9. }

オンマウスの時にAの動作、マウスアウトの時にBの動作をせよ、という命令をイベントハンドラに割り当てる。(一度だけ)割り当て終了後に自らのclassNameに新しい名前を与え、そのクラスで以後のイベントに反応しないようにする。

クロスブラウザにする場合は両classNameを共通のものにすればOK

目的通りの結果ですが、このやり方が正しいのか自信なし。実装は自己責任でお願いします。

作成日 2005-12-01

©2004-2005 FC2