JavaScriptによるポップアップウィンドウの出し方
prototype.js を使ったポップアップウィンドウの出し方。デモはこちら。
<html> <head> <script src="./prototype.js" type="text/javascript"></script> <script type="text/javascript"> <!-- function show_popup() { var evt_hndlr = function(event) { Element.show('popup'); var posx = Event.pointerX(event); var posy = Event.pointerY(event); Element.setStyle('popup', {top:posy+"px", left:posx+"px"}); } Event.observe('pos', 'click', evt_hndlr, false); }; --> </script> </head> <body onload="show_popup();"> <div id="popup" style="display:none; position: absolute; top: 0px; left: 0px; width: 200px; height: 150px; background: #ffffff; border: 3px solid gray;"> <div style="height: 20px; background: darkblue;"> <a href="#" onclick="Element.hide('popup');return false;" style="position: absolute; right: 0px; top: 0px; color: #eeeeee;">[x]</a> </div> <div style="padding: 10px;"> ポップアップウィンドウ </div> </div> <div id="pos" style="border:1px solid gray; padding: 5px; height: 500px; background: #e0e0e0;"> ここをクリックしてください。 </div> </body> </html>
ポイントは body の onload で、マウスクリックのイベントを エレメント pos に追加してるのと、クリック時にポップアップを表示して位置を変更しているところ。クリックされたポイントを prototype.js の Event クラスを使って割り出し、Element.setStyle で位置を変更している。