jQueryでダイアログを作成する例文

ダイアログ

dialogを含むjQueryをダウンロードし、読み込む


<script type="text/javascript" src="js/js-pack-dialog.js"></script>

<script type="text/javascript">
<!--

$(document).ready(function() {

 //select all the a tag with name equal to modal
 $('a[name=modal]').click(function(e) {

  //Cancel the link behavior
  e.preventDefault();

  //aタグを取得
  var id = $(this).attr('href');

  //スクリーンの幅と高さを取得
  var maskHeight = $(document).height();
  var maskWidth = $(window).width();

  //Set heigth and width to mask to fill up the whole screen
  $('#mask').css({'width':maskWidth,'height':maskHeight});

  //背景のフェードイン速度、不透明度
  $('#mask').fadeIn(200);
  $('#mask').fadeTo("200",0.7);

  //スクリーンの幅と高さをセット
  var winH = $(window).height();
  var winW = $(window).width();

  //ウィンドウの位置:真ん中へ
  $(id).css('top',  winH/2-$(id).height()/2);
  $(id).css('left', winW/2-$(id).width()/2);

  //ダイアログのフェードイン速度
  $(id).fadeIn(400);

 });


 //閉じる処理
 $('.window .close').click(function (e) {
  //Cancel the link behavior
  e.preventDefault();

  $('#mask').hide();
  $('.window').hide();
 });


 //背景がクリックされたときの処理
 $('#mask').click(function () {
  $(this).hide();
  $('.window').hide();
 });

});

// -->
</script>


<style type="text/css">
<!--

/* 背景 */

#mask {
position:absolute;
left:0;
top:0;
z-index:9000;
background-color:#000;
display:none;
}

/* ダイアログ本体 */

#boxes #dialog {
position:absolute;
display:none;
left:0px;
top:0px;
width:570px;
height:600px;
z-index:9999;
background-color:#FFF;
}
#boxes a.close-text {
position:absolute;
display:block;
left:475px;
top:5px;
font-size:20px;
font-weight:bolder;
color:#0D156F;
}
#boxes a.close-text:hover {
color:#E00;
}

-->
</style>


<a href="#dialog" id="aaaa" name="modal">ここをクリックするとダイアログが開く</a>


<!-- ダイアログ背景 -->
<div id="boxes">

<!-- ダイアログ本体 -->
<div id="dialog" class="window">

<!-- 閉じる -->
<a href="#" class="close close-text">閉じる</a>
あいうえお
</div>  

<div id="mask"></div>
</div>

ページを開いたら自動的にダイアログ

<script type="text/javascript"><!--

//ダイアログ:オープン処理

$(document).ready(function() {

  //Cancel the link behavior
  //e.preventDefault();

  //スクリーンの幅と高さを取得
  var maskHeight = $(document).height();
  var maskWidth = $(window).width();

  //Set heigth and width to mask to fill up the whole screen
  $('#mask').css({'width':maskWidth,'height':maskHeight});

  //背景のフェードイン速度、不透明度
  $('#mask').fadeIn(200);
  $('#mask').fadeTo("200",0.7);

  //スクリーンの幅と高さをセット
  var winH = $(window).height();
  var winW = $(window).width();

  //ウィンドウの位置:真ん中へ
  $('#dialog').css('top',  winH/2-$('#dialog').height()/2);
  $('#dialog').css('left', winW/2-$('#dialog').width()/2);

  //ダイアログのフェードイン速度
  $('#dialog').fadeIn(400);


 //閉じる処理
 $('.window .close').click(function (e) {
  //Cancel the link behavior
  e.preventDefault();

  $('#mask').hide();
  $('.window').hide();
 });


});

// --></script>