0

//这里我在按钮点击事件上创建叠加层并使用 ContentEl:'' 加载另一个视图。叠加层与动画效果很好,但是当用户在该叠加层中选择特定项目时,我需要用动画隐藏这个叠加层。

如果(!this.overlay){

        this.overlay = Ext.Viewport.add({
            xtype: 'panel',
            id:'menuOverlayView',
            modal: true,
            hideOnMaskTap: true,
            centered: true,
            scroll: 'vertical',
            autoDestroy:false,
            floating: true,
            showAnimation: {
                type: 'slide',
                duration: 4000,
                direction:'down'
            },
           hideAnimation: {
                type: 'slide',
                duration: 4000,
                direction:'up'
            },
            contentEl:'menuViewid',
            top: Ext.os.deviceType == 'Phone' ? '20%' : '20%',
            width: Ext.os.deviceType == 'Phone' ? 260 : 700,
            height: Ext.os.deviceType == 'Phone' ? 220 : 600
        });
    }

    this.overlay.show();

// 我在控制器中隐藏此覆盖的代码如下。我正在访问面板 ID 并隐藏面板,但面板应该像我上面提到的那样用动画隐藏hideAnimation

var overlayView=Ext.getCmp('menuOverlayView');       
 overlayView.setHidden(true);

//所以我应该怎么做才能隐藏面板并平滑向上滚动..我在句子下面写但没有工作给出错误

 overlayView.hideAnimation({type: 'slide', direction: 'up', duration:1000}); 
4

1 回答 1

1

要隐藏叠加层panel,您需要调用panel's hide()方法。

Ext.getCmp('menuOverlayView').hide();

然后尝试您的hideAnimation代码。

于 2012-06-07T09:15:23.333 回答