<script type="text/javascript"><!-- var bgbuf = ""; function setEvents() { tds = document.all.tags("td"); for(i = 0; i < tds.length; i++) { tds(i).style.backgroundColor = "white"; tds(i).onclick = function (){ tdclick(event.srcElement)}; tds(i).onmouseover = function (){ tdover(event.srcElement)}; tds(i).onmouseout = function (){ tdout(event.srcElement)}; } } function tdclick(td) { if(td.style.backgroundColor != "#f0d0d0") { td.style.backgroundColor = "#f0d0d0"; bgbuf = "#f0d0d0"; // 逆のセルの選択解除 target = Number(td.id); if(target < 10) target += 10; else target -= 10; document.all.item(target.toString()).style.backgroundColor = "white"; }else td.style.backgroundColor = "white"; } function tdover(td) { bgbuf = td.style.backgroundColor; td.style.backgroundColor = "#d0d0f0"; } function tdout(td) { td.style.backgroundColor = bgbuf; } //--></script>
マウスオーバー・アウトのあれはもっと上手くできないのかなぁ。
色々試行錯誤した末グローバル置いてアウトには仕事させないようにしよう、と。
オーバーとアウトがセットになってればいいんだけど。選択解除も芋臭いぜ。
tdに「id = 0〜5、10〜15」が振ってあります。これどうにかできないかなぁ。
あ、偶数奇数でわけりゃいいのか。そうか?
それにしてもelementの扱いには困る。
既にCSS側でスタイルが指定してあっても、
一度JS側で指定しないと.styleが全部undefinedになるんだな。
td要素は受け取ってるのに要素が悉く空で意味不明だった。背景色で簡易するのやめろってことかしら。でもvalue持てないし。
なんでoutはニートでいいのかと思ったら、選択解除したときの動作がおかしくなってた。
元コードは修正完了です。こっちは自戒の意味で永久保存だぁ!