シンプルにモーダルウィンドウを実装できる「leanModal」
    「leanModal」は、シンプルにモーダルウィンドウを設置できるjQueryプラグインです。オプションは少なめですが、複雑な機能は必要なく単に設置したいという場合にはもってこいのライブラリだと思います。デモ
スクリプト
<script src="jquery.min.js" type="text/javascript"> <script src="jquery.leanModal.min.js" type="text/javascript">
実装
<a rel="leanModal" href="#div787">Edit</a>
<div id="div787"><<モーダルウィンドウ内に表示する要素>></div>
<script type="text/javascript">
$(function() {
    $( 'a[rel*=leanModal]').leanModal({
        top: 50,                     // モーダルウィンドウの縦位置を指定
        overlay : 0.5,               // 背面の透明度 
        closeButton: ".modal_close"  // 閉じるボタンのCSS classを指定
    });
}); 
</script>
オプション
- top
表示するモーダルウィンドウの縦位置(CSSのtop)を指定します。 - overlay
jQuery fadeToの"opacity"の設定です。モーダルウィンドウを開いたときの背面の不透明度を指定します。(#lean_overlayのbackgroundに対する透明度になります。) * fadeToの"speed"はライブラリ内で200で設定されているので、0.2秒で背面が変化します。 - closeButton
閉じるボタンのCSSクラス名を指定します。必要なければオプションとスタイルを消去。個人的には、必要ないと思います。(大部分のユーザには「背面をクリックするとウィンドウが閉じられる」という認識は浸透していると思うので、わざわざカーソルを「閉じるボタン」まで移動して閉じるためのIFは必要ないと考えます。) 
#lean_overlay{
  position: fixed; z-index:100; 
  top: 0px;
  left: 0px;
  height: 100%;
  width: 100%;
  background: #000;
  display: none;
}
#div787{
  background: none repeat scroll 0 0 #FFFFFF;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.7);
  display: none;
  padding: 30px;
  width: 780px;
 }
.modal_close{ 
  position: absolute;
  top: 12px;
  right: 12px;
  display: block; 
  width: 14px;
  height: 14px; 
  background: url(../img/modal_close.png);
  z-index: 2;
}
モーダルウィンドウの横位置
センタに表示されます。left 50%してから、#divのouterWidth(ここでは、widthとpaddingの計)にleftしています。(ライブラリ内)
複数モーダルウィンドウ切り替え
個人的に必要となったので記載しておきます。
現状だとひとつのモーダルを開いた状態で、別のを開くと互いに重なりあってしまいます。そこで、別のモーダルを開いた際に、現在のモーダルを閉じるよう実装してみました。デモ
<a rel="leanModal" href="#div787-1">Edit</a>
<a rel="leanModal" href="#div787-2">Edit</a>
<div id="parentdiv">
    <div id="div787-1"><<モーダルウィンドウ内に表示する要素>></div>
    <div id="div787-2"><<モーダルウィンドウ内に表示する要素>></div>
</div>
<script type="text/javascript">
$(function() {
    $( 'a[rel*=leanModal]').leanModal({
        ....
        modalparent: "#parentdiv"       // 親要素のidを追加
    });
}); 
</script>
jquery.leanModal.min.jsを修正(29行目付近)
// 追加 ↓
$(o.parentdiv).children().css({"display":"none"});
// 追加 ↑
$(modal_id).css({
    "display":"block","position":"fixed","opacity":0,"z-index":11000,"left":50+"%","margin-left":-(modal_width/2)+"px","top":o.top+"px"
});
やっていること
対象モーダルを表示する前に兄弟要素をいったん全てdisplay: noneにして、それから対象の要素を表示するようにしています。
制限
モーダルウィンドウの要素は全て同一親要素内に収めなくてはいけない。(そんなに重要ではないかと)
関連記事
-  
                            
                              - 
              
jqPlot - Legend(凡例) オプション
jqPlotの凡例(Legend)の設定オプションのまとめです。前提は、こちらを参照して下さい。 目次 凡例を表示 凡例の位置 [location, placement] 凡例のフォ
 
-  
                            
                              - 
              
要素を折りたたみできる「nestedAccordion」
「nestedAccordion」は、クリックすると要素を開閉(折りたたみ)できるjQueryプラグインです。名前の通りネストして、アコーディオンの中にアコーディオンも実装できます。ダウンロードはこち
 
-  
                            
                              - 
              
シンプルでカスタマイズ豊富なスライダー用プラグイン「bxSlider」
「bxSlider」はシンプルに設置でき、かついろいろとオプションが設定可能なスライダー用プラグインです。サイト CDN 標準でもしくはオプションで実現できそうなこと スワイプ キャプション
 
-  
                            
                              - 
              
テキストに動きをつけるプラグイン
テキストをフェイド・スライド「Textillate」 テキストをフェイドイン(アウト)、スライドイン(アウト)してくれます。 ダウンロード デモ My Tit
 
-  
                            
                              - 
              
ページ内のフォントサイズを変更してくれる「Text Resizer」
「jQuery Text Resizer Plugin」は、ページ内のフォントサイズを変更してくれるjQueryプラグインです。要素を限定してリサイズすることも可能です。jquery.cookie.j
 
-  
                            
                              - 
              
リストをインクリメント検索・ソートできる「List.js」
List.jsは、リストをインクリメント検索やソートができるjQueryプラグインです。 ダウンロードはこちら リストだけでなくテーブルにも実装可能のようです。 スクリプト
 
-  
                            
                              - 
              
[続きを読む]でテキストを省略、開閉できる「jTruncate」「jTruncSubstr」
「jTruncate」は、長くなってスペースをとってしまう文章をなどであらかじめ指定した文字数で省略して表示してくれるjQueryプラグインです。 ダウンロードはこちら デモ スクリプト
 
-  
                            
                              - 
              
iTunesのCover Flowのようなギャラリーが実装できる「ContentFlow」
「ContentFlow」は、iTunesのCover Flowのように左右に流れるギャラリーが実装できるjQueryプラグインです。ダウンロード スクリプト 実装
 
-  
                            
                              - 
              
Lightboxなどが実装できるプラグイン「Magnific Popup」
「Magnific Popup」はlightboxを実装できるjQueryプラグインです。 この手のものは、商用利用に制限がかかっているものが多いですがこのプラグインはMITライセンスで提供されてい
 
-  
                            
                              - 
              
ナビゲーションメニューを画面サイズによってドロップダウンにしてくれる「TinyNav.js」
「TinyNav.js」はナビゲーションメニューを画面サイズがある以下になるとドロップダウンにしてくれるjQueryプラグインです。 スクリプト 実装 スタイルシート
 
- PREV
 - Skype 特定の機能を無効に
 - NEXT
 - 藤崎八旙宮・秋の大祭(2011)
 






        
        
        
        
        
        
        
        
        
Comment
http://leanmodal.finelysliced.com.au/
[…] シンプルにモーダルウィンドウを実装できる「leanModal」〜Think deeply, Do less, More effective〜 […]
シンプルにモーダルウィンドウを実装できる「leanModal」 http://t.co/S1lrYDV0eS
シンプルで良い
シンプルにモーダルウィンドウを実装できる「leanModal」 http://t.co/gr7SiJqMTj
シンプルにモーダルウィンドウを実装できる「leanModal」 http://t.co/mAflaSu7Bj
シンプルにモーダルウィンドウを実装できる「leanModal」 http://t.co/WwcPhphQmf
シンプルにモーダルウィンドウを実装できる「leanModal」 http://t.co/VCD3xk9RJp
ポップアップ / “jQuery: シンプルにモーダルウィンドウを実装できる「leanModal.js」 | Think deeply, Do less, More effective” http://t.co/X45CZD4phn
モーダル
とても簡単でした!|シンプルにモーダルウィンドウを実装できる「leanModal」 http://t.co/jxhEZ2dK6a
モーダル
2件のコメント http://t.co/9jJErTFtUO “jQuery: シンプルにモーダルウィンドウを実装できる「leanModal.js」 | Think deeply, Do less, More effective” http://t.co/rgMgvNopGD
ポップアップ出すやつ。今日助けてもらったjQueryシリーズ。 / “jQuery: シンプルにモーダルウィンドウを実装できる「leanModal.js」 | Think deeply, D…” http://t.co/gMCzitRjNa #jQuery #javascript
ポップアップ出すやつ。今日助けてもらったjQueryシリーズ。
#lean_overlay{ position: fixed; z-index:100; top: 0px; left: 0px; height: 100%; width: 100%; background: #000; display: none; } #div787{ background: none repeat scroll 0 0 #FFFFFF; box-shadow: 0 0 4px rgba(0, 0, 0, 0.7); display: none; padding: 30px; width: 780px; } .modal_close{ position: absolute; top: 12px; right: 12px; display: block; width: 14px; height: 14px; background: url(../img/modal_close.png); z-index: 2; }
leanModal の解説とか
jQuery: シンプルにモーダルウィンドウを実装できる「leanModal.js」 | Think deeply, Do less, More effective http://bit.ly/W2IvA9