• 締切済み

画像をクリックしたら別ウインドウを開くようにするには?

検索したり本を探したりしたのですが、どうしても見つけられなかったので 投稿します。 アルバムのコンテンツを作ろうと考えています。 いきなり大きな画像を沢山張りつけると重くて仕方がなくなるので、 まずサムネイルをテーブルの中にいれて沢山表示させるページを作りました。 自分の理想としてはサムネイルをクリックすると サイズ指定された別ウインドウが開いて該当サムネイルの大きな画像が 表示されるようにしたいんです。 そこで色々調べてみたのですが、ボタンや、テキストをクリックすると 別ウインドウが開くというサンプルはあっても、画像をクリックした 場合の設定方法が見つかりません。 どのように設定したらいいのか、ご存知の方がいらっしゃいましたら、 教えてください。よろしくお願いします。

みんなの回答

  • cradoll
  • ベストアンサー率50% (7/14)
回答No.3

<a href="Javascript:tempWin.focus()" onClick="tempWin=window.open('images/sample_big.jpg','sample','width=200,height=200')" border="0"> <img src="images/sample_smoll.jpg" width="50" height="50" border="0"></a> と、こんなのはどうでしょう 画像一枚一枚にスクリプトを記述するのでちょっとソースが長くなりそうですが 改行をいれずに書かないとだめかも知れません

boop
質問者

お礼

どうもありがとうございました! 皆様に教えていただいた情報を参考に 色々やってみたのですがスキルがないせいで うまく設定できず、結局自力で解決してしまいました。 お返事頂きました皆様、お忙しい中回答いただきまして、 本当にありがとうございました!

  • MMPichu
  • ベストアンサー率66% (4/6)
回答No.2

想像されているのと違うかもしれませんが、チョット書いて見ました。 簡単にする為に正式なHTML記述では書いていませんので適当に変更して 下さいね。 新たなウィンドウのイメージを縮小する必要がない場合は、 document.writeを使わずに、window.open(obj.src, .....); でもOKです。 ただし、NetScapeでは動くかどうかは確かめていません。 <html><head> <title>abc</title> <script language="JavaScript"> <!-- function imageOpen(obj,w,h) { var bound = 20; var winInf = "toolbar=no,width=" + (w+bound) + ",height=" + (h+bound) + ",status=no,scroolbars=yes,resize=no,menubar=no"; var imgTag = "<img height=" + h + " width=" + w + " src=" + obj.src + " border=0>"; window.open(null,null,winInf).document.write(imgTag); } //--> </script></head> <body> <img height="64" width="64" src="abc.jpg" border="0" onClick=imageOpen(this,300,300)> </body></html>

boop
質問者

お礼

どうもありがとうございました! ネスケとIE両方でスムーズに動くことを 考えると大変だなぁといつも思います。

  • kokucho81
  • ベストアンサー率61% (157/255)
回答No.1

お望みのものは恐らくこういうものなのでしょう。 <html> <head> <meta http-equiv="content-type" content="text/html;charset=shift_jis"> </head> <script type="text/javascript"> <!-- function open_window(img,x,y){ s="width="+x+",height="+y; win1=window.open('','','resizable=yes,scrollbars=no,'+s); win1.document.open("content-type:text/html"); win1.document.write("<html>\n<body bgcolor='#ffffff' leftmargin='0' topmargin='0' marginwidth='0' marginheight='0'>\n"); win1.document.write("<img src='+img+'>"); win1.document.write("</body>\n</html>"); win1.document.close(); } //--> </script> <body> <table border="4" cellpadding="0" cellspacing="2" width="200"> <tr> <td><a href='javascript:open_window("a_big.gif",300,200)'><img height="32" width="32" src="a.gif" border="0"></a></td> <td><a href='javascript:open_window("b_big.gif",200,320)'><img height="32" width="32" src="b.gif" border="0"></a></td> <td><a href='javascript:open_window("c_big.gif",250,220)'><img height="32" width="32" src="c.gif" border="0"></a></td> </tr> <tr> <td><a href='javascript:open_window("d_big.gif",250,220)'><img height="32" width="32" src="d.gif" border="0"></a></td> <td><a href='javascript:open_window("e_big.gif",250,300)'><img height="32" width="32" src="e.gif" border="0"></a></td> <td><a href='javascript:open_window("f_big.gif",50,450)'><img height="32" width="32" src="f.gif" border="0"></a></td> </tr> <tr> <td><a href='javascript:open_window("g_jpg.gif",300,50)'><img height="32" width="32" src="g.jpg" border="0"></a></td> <td><a href='javascript:open_window("h_jpg.gif",350,330)'><img height="32" width="32" src="h.jpg" border="0"></a></td> <td><a href='javascript:open_window("i_jpg.gif",250,220)'><img height="32" width="32" src="i.jpg" border="0"></a></td> </tr> </table> </body> </html> サルネイムガ像が a.gif b.gif ・・・・・・ i.jpgなどで、 本物画像が a_gif.gif, b_big.gif ・・・・・・ i_big.jpg と考えます。 javascript:open_window("i_jpg.gif",250,220) のところで設定し、 左から、”本物の画像ファイル”、x幅、y幅 です。 いちどソースをコピって動きを確認なさればどう私用すれば良いかわかると思います。

boop
質問者

お礼

ありがとうございました。 早速コピーして動作を確認しましたが、 ウインドウは開きませんでした。 教えていただいたとおりにやってみましたが やはりウインドウは開きません。 多分私のやり方がまずいのだと思います・・・。 もう少し答えを募集してみます。ありがとうございました!