2011-10-13 61 views
3

我有一个sencha触摸应用程序,但希望在加载页面时将加载掩码应用于整个应用程序。 (即Javascript文件等正在加载)Sencha触摸应用程序加载掩码

在ExtJS中,我曾经有一个全尺寸的div与加载图像,然后作为“onReady”的第一个动作,我用它淡出div然后删除它。不幸的是,淡出()似乎并不在SenchaTouch可用

我的应用程序定义如下:

Ext.application({ 
    name: 'MyApp', 

    launch: function() { 
     Ext.create('Ext.Panel', { 
      fullscreen: true, 
      html: 'Hello World' 
     }); 
    } 
}); 

任何指针将appretiated

回答

4

您可以使用Ext.LoadMask类。有一个例子:

var myMask = new Ext.LoadMask(Ext.getBody(), {msg:"Please wait..."}); 
myMask.show(); 

当你完成加载一些Ajax请求,或做你的任务,并取下面膜,你可以:

myMask.hide(); 
+0

感谢您的回答。在加载.js文件之前,我正在寻找一个加载掩码。在ExtJS中,我通常只是放一个全屏的div,并在应用程序准备就绪时淡出它。但fadeOut()似乎不起作用... – neolaser

2

嘿,你也可以尝试下面的代码本,而这样做的AJAX请求和数据加载

var mask = new Ext.LoadMask(Ext.getBody(), {msg:"wait msg..."});     


       Ext.Ajax.on('beforerequest', function(){   

         mask.show(); 
       }); 


       Ext.Ajax.on('requestcomplete', function(){  

         mask.hide(); 
       });    


       Ext.Ajax.on('requestexception', function(){   

       }); 
0

这是我如何去了解它:

Ext.getBody().mask().addCls('black-background'); 

.black-background { 
    opacity: 1; 
    background: black; 
}