私の要件は、 jQuery UI レイアウトで参照されているデモを参照しています
上記のように 3 つのトグルを取得する必要がありますが、統合によって 3 つの色付きのトグル ボタンが表示されません。デモと自分のサイトのページでコンテンツの読み込みを確認しましたが、div のフィールドが html に入力されていません... :(
何か不足していますか?
私は以下のようなことをしました:
$(document).ready(function(){
// CREATE THE LAYOUT
myLayout = $('body').layout({
resizeWhileDragging: true
, fxName: "none"
, west__size: westDefaultSize
, south__size: southDefaultSize
, spacing_open: 8
, spacing_closed: 8
, north__spacing_open: 0
, west__togglerLength_closed: 105
, west__togglerLength_open: 105
, south__togglerLength_closed: 105
, south__togglerLength_open: 105
, west__togglerContent_closed: toggleButtons
, west__togglerContent_open: toggleButtons
, south__togglerContent_closed: toggleButtons
, south__togglerContent_open: toggleButtons
});
// SET OBJECT POINTERS FOR CONVENIENCE
var
$westToggler = myLayout.togglers.west
, $southToggler = myLayout.togglers.south
;
var toggleButtons = '<div class="btnToggler"></div>'
+ '<div class="btnReset"></div>'
+ '<div class="btnExpand"></div>';
// UN-BIND DEFAULT TOGGLER FUNCTIONALITY
$westToggler.unbind("click");
$southToggler.unbind("click");
// BIND CUSTOM WEST METHODS
$westToggler.find(".btnToggler") .click( toggleWest );
$westToggler.find(".btnExpand") .click( expandWest );
$westToggler.find(".btnReset") .click( resetWest );
// BIND CUSTOM SOUTH METHODS
$southToggler.find(".btnToggler") .click( toggleSouth );
$southToggler.find(".btnExpand") .click( expandSouth );
$southToggler.find(".btnReset") .click( resetSouth );
// ADD TOOLTIPS TO CUSTOM BUTTONS
$(".btnExpand").attr("title", "Expand to full size");
$(".btnReset") .attr("title", "Reset size to default");
});
// CUSTOM WEST METHODS
function toggleWest (evt) { myLayout.toggle("west"); evt.stopPropagation(); };
function expandWest (evt) { sizePane("west", 500); };
function resetWest (evt) { sizePane("west", westDefaultSize); };
// CUSTOM SOUTH METHODS
function toggleSouth (evt) { myLayout.toggle("south"); evt.stopPropagation(); };
function expandSouth (evt) { sizePane("south", 9999); }; // ie, make as big as possible
function resetSouth (evt) { sizePane("south", southDefaultSize); };
// GENERIC HELPER FUNCTION
function sizePane (pane, size) {
myLayout.sizePane(pane, size);
myLayout.open(pane); // open pane if not already
};
違いは 1 つだけでした。
var myLayout = $('#layout-wrapper').layout();
ページの読み込み時にレイアウトを呼び出し、ボタンのクリック時にトグルを追加しています:
myLayout.addToggleBtn();
上記のようなもの。
レイアウトのインスタンス化が完了したときに、トグルを使用してレイアウトを実現する方法を教えてください。