こんにちは、次の JavaScript を作成して、動的に作成された id タグを持つモーダルを、サイズ変更機能 (幅と高さに関係なく) を介して画面の中央に配置できるようにしました。
ただし、ページの読み込み時にはonClick
、ボタンを介して表示されるのではなく、モーダルが表示されます。私は初心者なので、コードで何を変更する必要があるのか わからないため、代わりにページの読み込み時にモーダルが非表示になります。
Javascript:
$('body').prepend(''); $(関数(){ $(window).resize(関数(){ // 画面の高さと幅を取得 var maskHeight = $(window).height(); var maskWidth = $(window).width(); // 中央揃えの値を計算します var dialogTop = (maskHeight - $('.modalbox').height())/2; var dialogLeft = (maskWidth - $('.modalbox').width())/2; // オーバーレイとダイアログ ボックスに値を割り当てます $('#overlay').css({ 高さ:マスクの高さ, 幅:マスクの幅 }).show(); $('#modalcontainer').css({ 上: dialogTop、左: dialogLeft}).show(); }).resize(); }); $('a.modal').each(関数() { var link = $(これ); var id = link.attr('href'); var ターゲット = $(id); if($("#modalcontainer" + id).length === 0) { $('#modalcontainer').append(ターゲット); } $("#main " + id).remove(); link.click(関数() { $('#modalcontainer > div').hide(); target.show(); $('#overlay').show(); false を返します。 }); }); $('.close').click(関数() { $('#modalcontainer > div').hide(); $('#overlay').hide(); false を返します。 });
CSS:
#かぶせる { 背景: url(../img/overlay_bg.png); 位置:絶対; z-index:10; } #modalcontainer { 位置:絶対; z-index:20; }
HTML:
<a href="#modal1" class="modal button plain">view modal</a>
<div style="width:650px; height:400px;" id="modal1" class="modalbox">
<div class="box-header">
<p align="center">Here is your modal</p>
<div class="box-content">
</div>
<div align="center" class="action_bar">
<a href="#" class="close button blue">Close</a>
</div>
</div>
</div>
jsfiddle でのデモ: http://jsfiddle.net/5Egf8/4/
? どんな助けでも大歓迎です。