做这件事的最好方法是什么?例如:
我希望窗口淡入淡出(qx.fx.effect.core.Fade(DOM))时,用户点击minimize按钮。所以我在window类中这样做:
this.addListener("appear", function() {
this.minimizeEffect = /*fade effect*/;
},this);
this.addListener("beforeMinimize", function() {
this.minimizeEffect.start();/*delay(1000);*/
},this);我需要做延迟,因为(我认为)否则窗口会在刚开始淡出时最小化!有什么解决方案吗?我甚至尝试过这个效果的finish事件,但没有成功。谢谢!
编辑:我的delay()函数错误..所以它不会“编译”,这让我更困惑:
function delay(ms){//this works (it fades ok)
var date = new Date();
var curDate = new Date();
while(curDate-date < milis)//this is wrong, milis don't exist
curDate = new Date();
}
function delay(ms){//it donesn't work (no fade)
var date = new Date();
var curDate = new Date();
while(curDate-date < ms)//this is "good"
curDate = new Date();
}发布于 2011-06-18 03:27:24
我会提出以下建议
var win = new qx.ui.window.Window("First Window").set({
width: 300,
height: 300,
opacity: 0,
showMinimize: false
});
var hideEffect;
win.addListenerOnce('appear',function(){
var el = win.getContainerElement().getDomElement();
var showEffect = new qx.fx.effect.core.Fade(el).set({
from: 0, to: 1 });
hideEffect = new qx.fx.effect.core.Fade(el).set({
from: 1, to: 0 });
hideEffect.addListener('finish',function(e){
win.setOpacity(0);
win.close();
});
showEffect.addListener('finish',function(){
win.setOpacity(1);
});
showEffect.addListenerOnce('finish',function(){
win.addListener('appear',function(){
showEffect.start();
});
});
showEffect.start();
});
win.addListener('beforeClose',function(){
if (win.getOpacity() == 1){
hideEffect.start();
e.stopPropagation();
}
});
this.getRoot().add(win, {left:10, top:30});
var openBtn = new qx.ui.form.Button('Open Window');
openBtn.addListener('execute',function(){win.open();});
this.getRoot().add(openBtn, {left:10, top:10});使用http://tinyurl.com/3v72sk3在qooxdoo操场上运行这段代码
https://stackoverflow.com/questions/6380551
复制相似问题