3

我想知道用淡化效果换掉屏幕上的两个面板的最佳方法是什么?

我有两个面板,我使用 CSS 将它们放置在彼此之上。panelOne 是可见的, panelTwo 是隐藏的。

单击另一个按钮(不在任一面板上)时,我希望 panelOne 淡出并且 panelTwo 淡入。

我目前使用下面的代码进行这项工作,但我发现它在我们这里用于测试的某些 Android 设备上相当滞后。有没有比我目前使用的更好的方法?我该如何改进这个动画?

此代码在按钮点击时执行:

Ext.Anim.run(panelOne, 'fade', {
   duration: 100,
   after: function() {
      panelOne.hide();
   }
});
Ext.Anim.run(panelTwo, 'fade', {
   out: false,
   duration: 100,
   before: function() {
      panelTwo.show();
   }
});

任何帮助深表感谢。

谢谢。

4

2 回答 2

2

没必要用Ext.Anim这么久。

例如,您的应用程序有一个Ext.Containerwhich 分别包含panelOnepanelTwo作为第一项和第二项。

然后,如果您想使用动画从panelOne到导航,只需使用:panelTwofade

Ext.getCmp('your_container_id').animateActiveItem(1,'fade')

或者你可以这样做:

  • 添加showAnimation: 'fadeIn'到您的 panelTwo 的配置中
  • 添加hideAnimation: 'fadeOut'到您的 panelOne 的配置中

希望能帮助到你。

于 2012-05-31T06:22:31.713 回答
0

要控制其他配置,例如持续时间,请使用:

hideAnimation: {type:'fadeOut', duration: 1000}

于 2012-08-07T08:31:32.293 回答