2

UI.Layout を使用して、ExtJs レイアウトに似た動作を作成しようとしています: 水平ペインを閉じたり開いたりすると、リサイザーが非表示になり、スライド効果で再表示されます。

これは、イベントの後に効果が表示されるため、ペインを閉じるのは簡単でしたがonclose、ペインを開いたときに同じ動作を適用するのは非常に困難です。

リサイザーに適用される効果に関係なくトリガーのイベントであるためonopen、リサイザーのスライドが完了するまでペインを開くのを遅らせる方法が見つかりません。

関連するコードは次のとおりです。

outerLayout = $('#outer-layout').layout({
    west : {
        // ...
        onclose_start : function() {
            hideResizer('west');
        },
        onclose_end : function() {
            styleResizer('west');
            showResizer('west');
            animateResizerOnClose('west');
        },
        onopen_start : animateWestResizerOnOpen
    }
    // ...
});

function animateWestResizerOnOpen() {
    $(this).parent().delay(1400).queue(function() {
        $('#outer-layout').layout().open('west');
    }).hide('slide', 300);
}

ここで何が問題なのですか?

4

1 に答える 1

1

多少の回避策ですが、うまく機能します:

ペインリサイザーの fx キューに干渉する方法がないように思われ、setTimeout()関係なくイベントをトリガーしても何の助けにもならないため、ペインを開く fx イージングのより急な曲線を使用して問題を回避しました。これにより、比較的遅いスタートでペインを開くことができ、リサイズ バック スライドが表示されます。

于 2011-01-14T13:28:15.973 に答える