コンセプトを簡単に説明するためだけに..
body の直下に 2 つの div を作成する
<div id="backmask"></div>
<div id="contentwindow"></div>
<!-- somewhere else in your page -->
<a href="somepage.html" class="showinwindow">click me</a>
これらのcss(大まかに)
<style type="text/css">
#backmask {
display:block;
width:100%;
height:100%;
background-color:black;
position:absolute; top:0; left:0;
z-index:1000;
display:none;
opacity:0.7;
filter:alpha(opacity=70);
}
#contentwindow {
display:block;
width:800px;
height:600px;
background-color:white;
position:absolute; top:50px; left:50px;
z-index:1001;
display:none;
}
.bodywithwinOpenClass { overflow:hidden; width:100%; height:100%; }
</style>
そして(クイックにjqueryを使用しています)
<script type="text/javascript">
$(".showinwindow").click( function(e) {
/* we don't want the visitor to leave, stop the normal action */
e.preventDefault();
/* get what to show */
var contenttoload = $(this).attr.("href");
/* set the body up */
$("body").addClass("bodywithwinOpenClass");
/* show wins and masker */
$("#backmask").css("display","block");
$("#contentwindow").css("display","block");
/* load the content */
$("#contentwindow").load(contenttoload);
});
</script>
これは直接入力されたもので、実行されたものではありません。キャンディーは含まれていません (ポジショニングなどのため)。