すぎたです。

In message news:biveai$2k8p$1@nwall2.odn.ne.jp
"Takashi YOSHIMI" <tak-yoshimi@rio.odn.ne.jp> wrote ...

> 以前の記事で、row の色を変更するプログラムを書くと、何かの拍子でその下
> のcellの色が代入され、固定になってしまうことを書きました。それを防ぐた
> めにcellの色をすべて初期化するという小手先の業でしのいだのです。
> 
> 夏休みになって時間がとれたために、これをいよいよウェブページ
> http://www.geocities.co.jp/Bookend-Soseki/3185/Jokes/index.html
> に応用したのですが、うまくありません。なぜか一部のcellの色が固定されて
> しまいます。(上のページから年代順リスト???各年のページを見てください)

イベントの一つ上(親)が必ずしもTRでないことから、row が tr 以外
のとき、おかしくなっていると思われますので、イベントターゲット
から遡って、TR を見つけるのが良さそうです。

  function flipbg(_event)
  {
    if(!_event){
      _event = window.event;
    }
    if(_event.srcElement){
      row = _event.srcElement;
      while(row.nodeName != "TR") {
        if(!(row = row.parentElement))
          return;
      }
    }else{
      row = _event.target;
      while(row.nodeName != "TR") {
        if(!(row = row.parentNode))
          return;
      }
    }
    
    if(_event.type == "mouseover"){
      row.bgColor = "#ffff80";
    }else{
      if(row.rowIndex % 2){
        row.bgColor = '#d0d0ff';
      }else{
        row.bgColor = '#c0ffc0';
      }
    }
  }

上記で、mouseover か mouseout かの判定ですが、mouse で wheel
を利用したところ、onmouseout が発生し、次に mouse を動かした
ところ、NN7 では onmouseout と onmouseover が発生して、色が
ダブってしまうため、_event.type で判定するようにしてみました。

# Opera は 7.0 正式版以降は、インストールはできるものの
# なぜか私のマシンでは動作しない(起動時にエラーが発生する)
# ようになってしまったため、確認してないです。
## 7 の beta までは問題なかったのですが・・・

-- 
杉田
sugi-nws@bk.iij4u.or.jp