2011-01-11 19 views
2

私はUI.Layoutを使用して、ExtJsレイアウトに似た動作を作成しようとしています:水平ペインの閉じる/開いたときに、resizerを非表示にしてスライド効果。jQuery UI.Layout:ペインの開きを遅らせる方法

これは、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); 
} 

ここで何が問題になっています:?ここ

は、関連するコードですか

答えて

1
やや回避策の

、それがうまく機能:

ペイン・サイズ変更のFX-キューに干渉する方法がないようだ、とsetTimeout()イベントが関係なく、トリガーた、何の助けを提供しないだろうので、 、私はペインを開いてfxのイージングの急カーブを使って問題を回避しました。これにより、相対的にゆっくりと開始してペインを開くことができ、リサイザのバックスライドが表示されます。

関連する問題