如何'摇动'qooxdoo的窗户?

时间:2010-03-31 11:31:54

标签: qooxdoo

我正在试图摇动一个窗口,但在控制台中弄错了。我的代码:

  var win = new qx.ui.window.Window ("Login");
  win.setLayout (new qx.ui.layout.Grow);
  win.add (view);

  this.effect = new qx.fx.effect.combination.Shake (
    win.getContainerElement ().getDomElement ());

  return win;

其中view是GroupBox实例(来自demobrowser / animation / login)。

3 个答案:

答案 0 :(得分:3)

对不起噪音! 如果我在“出现”的监听器中创建一个效果 - 代码效果很好。

    win.addListener ("appear", function (e) 
    {
      this.effect = new qx.fx.effect.combination.Shake (
        win.getContainerElement ().getDomElement ());
    }, this);

答案 1 :(得分:3)

正如您自己发现的那样:当您创建摇动对象时,窗口的DOM元素不存在。在qooxdoo中,我们一次创建所有DOM元素,这样浏览器就不必经常渲染。

在时间窗口触发“出现”事件(您也可以使用“resize”事件),DOM元素已创建。一定要使用addListenerOnce()而不是addListener()!否则,每次窗口再次可见时,如果它已被隐藏,您将创建一个新的抖动效果。 ; - )

答案 2 :(得分:0)

var win = new qx.ui.window.Window("Login");
win.setLayout(new qx.ui.layout.Grow);
win.add(view);
win.addListener("appear", function(){
  var effect = new qx.fx.effect.combination.Shake(win.getContainerElement().getDomElement());
  effect.start();
}, this);
return win;