我正在试图摇动一个窗口,但在控制台中弄错了。我的代码:
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)。
答案 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;