blockUI でメッセージとして表示される div のサイズを変更して、ハードコードされたファッジ ファクター (つまり、幅 - 100) を除いて、表示される画面領域を埋める必要があります。画面に小さな画像を表示できることを前提としていますが、ユーザーが拡大画像を必要とする場合は、画面に合わせたサイズのブロック UI ダイアログを表示するだけです。
画像は動的に生成されるため、アプリケーションから渡されたサイズに合わせてサイズを変更できます。
調べたところ、div を中央に配置するためのコードしか見つかりませんでした。私はこれに取り組んでいるので、答えが見つかったらここに投稿します(他の人の答えを複製しないと仮定して!)
呼び出しマークアップの非常に単純な HTML スニペットを次に示します。
<div>
<img src="someurl" class="image" height="280px" width="452px" alt="" />
</div>
<div style="text-align: right;">
<a href="#viewpopup" id="viewpopup">View larger map</a>
</div>
そして、これがポップアップマークアップです
<div id="popup">
<div class="titlebar">
<div class="title left">Map details</div>
<div class="closebuttons right"><a class="close">x</a></div>
<div class="clearer"></div>
</div>
<div class="popupcontent">
<!-- auto append content here -->
</div>
<div class="buttonbar">
<a class="close">Close</a>
</div>
</div>
私はJQueryを使用しています。現在のコードは次のとおりです。
var popup = $("#popup");
var popupcontent = popup.children(".popupcontent");
var image = $(".image");
$(document).ready(function(){
$("#viewpopup").click(function(){
// Fudged indent on the top left corner
var top = 20;
var left = 20;
// Dynamically set the contents
// popupcontent.empty();
// popupcontent.append();
$.blockUI({ message: popup, css : { border : 'none', height: 'auto', 'cursor': 'auto', 'width': 'auto', 'top': top, 'left' : left } });
});
$(".close").live("click",function(){
$.unblockUI();
});
});
また、popupcontent の高さを現在使用可能なスペースを自動的に埋めるように設定する方法を理解する必要があります (CSS で ems を使用しています)が、それが別の質問であるかどうかはわかりません:)。
ありがとう :)