2011-10-13 1 views
3

У меня есть приложение для подключения sencha, но вы хотите применить маску загрузки для всего приложения во время загрузки страницы. (т. е. когда загружаются файлы Javascript и т. д.)Sencha touch application load mask

В ExtJS у меня был полный размер div с загрузочным изображением, а затем, как первое действие «onReady», я использовал для выцветания этого div, а затем удаляю его , К сожалению, FADEOUT() не кажется, будет доступна в 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; 
}