2

私の要件は、 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();

上記のようなもの。

レイアウトのインスタンス化が完了したときに、トグルを使用してレイアウトを実現する方法を教えてください。

4

1 に答える 1