- ベストアンサー
オンマウスで異なるセルなどの背景を変える方法
(1)オンマウスで、オンしているセルではないセルの背景画像を変える方法と、 (2)オンマウスで、セルではなく、テーブル自体の背景画像を変える方法を 教えて下さい。 (1) <table><tr> <td>1111</td> ←このセル(文字)にオンマウスして <td>2222</td> <td>3333</td> ←このセルの背景を変える </tr></table> (2) <table background="*****.jpg"><tr> <td>1111</td> ←このセル(文字)にオンマウスしてテーブルの背景を変える <td>2222</td> <td>3333</td> </tr></table> こちらで使用しているブラウザはSafari2.0.4とFireFox3.0.8です。 お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じで・・・ <script> function change(obj){ var p=obj.parentNode; while(p){ if(p.nodeName=="TABLE") break; p=p.parentNode; } p.style.backgroundImage="url(****.jpg)"; } </script> <table> <tbody> <tr> <td onMouseover="change(this)">1111</td> <td>2222</td> <td>3333</td> </tr> </tbody> </table>
その他の回答 (1)
- grumpy_the_dwarf
- ベストアンサー率48% (1628/3337)
あなたのいう「オンマウス」って、OnMouseoverなのかOnMouseout なのかOnMousedownなのかOnMouseupなのかOnMousemoveなのか、そ こをまず明らかにしましょう。ちなみにアウトマウスとかインマウ スとかはありません。 まぁ、どれでもヤルことは一緒なんですけどね。まず、引数でidと ファイルを指定して背景を設定するjavascriptを書きます。そうで すね、ありがちですがChngBg(id,file)とかにしましょうか。で、 <table id="hoge"><tr> <td id="foo" onMousexxxx="ChngBg("baa","gaa.png">1111</td> <td>2222</td> <td id="baa">3333</td> </tr></table> とでもすれば、fooでマウスがどうにかなったときにbaaの背景が gaa.pngに変わります。そこら中に仕込んどくとしっちゃかめっ ちゃかで面白いですね。 で、ChngBg(id,file)ですが、たとえば最低限 <script type="text/javascript"> <!-- function ChngBg(id, file) { file = "url('" + file + "')"; document.getElementbyId(id).style.background = file; } --> </script> みたいな雰囲気になるはずです。違ってたらjavascriptのカテゴリ で訊いてみてください。
お礼
あ、そうですよね。OnMouse何なのかわからないですよね。曖昧ですみません(><;) こちらの勉強不足でちょっと理解しきれませんでした。 (勉強してたら絶対わかる回答なんだと思います。すみません><;) 「他にこうしたらどうなるんだろう」という疑問も出てきたので、出直してきます。 回答、ありがとうございました!
お礼
おおっ、マウスオーバーでちゃんとテーブルの背景が変わりました! ありがとうございます!(>∀<) 他の場合など疑問が出てきたので(&私からのレスが遅くなってしまいそうなので)、改めて質問し直したいと思います。