ここに、トリガーボタンがあります。それぞれのrel 属性には、jQueryセレクタにより、 正しいオーバレイを参照するようにします:
<!-- overlay buttons --> <p> <button rel="div.overlay:eq(0)" type="button">first</button> <button rel="div.overlay:eq(1)" type="button">second</button> <button rel="div.overlay:eq(2)" type="button">third</button> <button rel="div.overlay:eq(3)" type="button">fourth</button> </p>
ページには、4つの同じオーバレイ要素をがあります。 各々のものは、 最小のセットアップ で見たものと同じようなものです。
finish コンフィギュレーション・プロパティは、各オーバレイごとに異なるため、 JavaScriptコードでは、それぞれのオーバレイを初期化します:
$(function() { // positions for each overlay var positions = [ [0, 530], [400, 20], [400, 530], [0, 20] ]; // setup triggers $("button[rel]").each(function(i) { $(this).overlay({ // common configuration for each overlay oneInstance: false, closeOnClick: false, // setup custom finish position top: positions[i][0], left: positions[i][1], // use apple effect effect: 'apple' }); }); });
一度ですべてのオーバレイを開いたり閉じたりするのに、 このボタンを試してみてください。
アイデアは、各オーバレイAPI へのハンドルを取得し、 その open メソッドと close メソッドをコールすることです。 機能は、次のとおりです:
// open all overlays function openAll() { $("button[rel]").each(function() { $(this).overlay().load(); }); } // close all overlays function closeAll() { $("button[rel]").each(function() { $(this).overlay().close(); }); }
注: openAll メソッド、全オーバレイを同時に表示するトリガーを、 プログラムによって全てをクリックするこの $("button[rel]").click() のように書くこ とができたかもしれません。