Имам приложение sencha touch, но искам да прилагам маска за зареждане към цялото приложение, докато страницата се зарежда. (т.е. докато файловете Javascript и т.н. се зареждат)
В ExtJS имах пълноразмерен div с aзареждане на изображение, след това като първото действие на "onReady" използвах за избледняване на този div след това го премахна. За съжаление изглежда, fadeOut () изглежда не е наличен в SenchaTouch
Дефиницията на приложението ми е следната:
Ext.application({
name: "MyApp",
launch: function() {
Ext.create("Ext.Panel", {
fullscreen: true,
html: "Hello World"
});
}
});
Всички указатели ще бъдат оценени
Отговори:
4 за отговор № 1Можете да се възползвате от класа Ext.LoadMask. Има пример:
var myMask = new Ext.LoadMask(Ext.getBody(), {msg:"Please wait..."});
myMask.show();
Когато приключите да зареждате някои заявки на Ajax или изпълнявате вашата задача и да премахнете маската, можете:
myMask.hide();
2 за отговор № 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 за отговор № 3
Ето как продължавам:
Ext.getBody().mask().addCls("black-background");
.black-background {
opacity: 1;
background: black;
}