• ベストアンサー

マウスオーバーで複数の画像を非表示

マウスオーバーで画像を非表示にしています。 以下の例で、複数の画像を非表示にするにはどうすればよいでしょうか? 例では画像はjpeg1.jpg~jpeg3.jpgの3つですが、実際には個数は毎日変化します。 <a>タグに画像の個数分のonMouseOverを書けばよいのでしょうが、もっと簡単に書く方法はないでしょうか。 PerlからHTMLを吐き出します。 <html> <a href="Javascript:" onMouseOver="jpeg1.style.display='none';" onMouseOut="jpeg1.style.display='';">非表示</a><br> <img src="./jpeg1.jpg" name="jpeg1"><br> <img src="./jpeg2.jpg" name="jpeg2"><br> <img src="./jpeg3.jpg" name="jpeg3"><br> </html>

質問者が選んだベストアンサー

  • ベストアンサー
  • OKbokuzyo
  • ベストアンサー率43% (130/296)
回答No.1

imgタグだけ取ってfor文とか回してもいいですけど、 HTML変更していいならimgタグ全体ををdivタグできって divタグ一個をdisplay='none'にして まるっと非表示にしちゃえばいんじゃないですか?

ps5550
質問者

お礼

できました。 <div ID="jpeg1">でまとめてました。 ありがとうございます。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

たとえばdivなどでかこんでグルーピングをして、クラスを割り当てるとか <script> function view(obj,v){ obj.parentNode.className=v; } </script> <style> div.hide img{ display:none; } </style> <div> <a href="#" onmouseover="view(this,'hide')" onmouseout="view(this,'')">非表示</a><br> <img src="1.jpg" name="jpeg1"><br> <img src="2.jpg" name="jpeg2"><br> <img src="3.jpg" name="jpeg3"><br> </div> ※クラス名のオンオフは複雑になるので簡易的な表現にしてあります

ps5550
質問者

お礼

ありがとうございます。 この方法でできました。 JavaScriptは詳しくなく、意味は良く分かってませんが、勉強します。 ありがとうございました。

関連するQ&A