如何添加组件“隐藏”,然后将其滑入?

时间:2011-11-10 15:02:38

标签: javascript animation extjs extjs4

我想基本上做以下几点 - 将一个面板添加到父面板,但应首先隐藏此子面板。完成布局之后(因此,getEl()可用)我想调用slideIn方法。

问题是我不知道应该如何隐藏它。 我试图在beforeLayout事件中隐藏面板,然后在slideIn开始之后显示它,但这不能按预期工作。

我还尝试添加一些css属性(display:none或visibility:hidden),然后删除它们,但这也无法正常工作。

UPD:一些代码来澄清我的问题:

var panel = new Ext.panel.Panel({
   title: "child",
   layout: "fit",
   beforeLayout: function() {
      //here we are trying to hide the panel
      panel.getEl().addCls("somehiddenclass"); //actually display:none
   } 
})

parent_panel.add(panel);
panel.slideIn("l");
panel.getEl().removeCls("somehiddenclass");

2 个答案:

答案 0 :(得分:1)

您可以简单地使用hidden: true初始化面板,然后在创建控件后调用slideIn功能吗?

答案 1 :(得分:0)

另一种解决方案可能是将您的面板封装在简单的div元素中,或者更容易控制Ext.Container控件并分别设置其样式。