doLayout не работает
Здрасте,
в методе меняю цвет панельки и жду 1 сек и меняю ее на другой цвет. но вижу только последний цвет. как увидеть смену цвета?
function clickPanel(id) {
Ext.get(id).setStyle('background-color', 'red');
sleep(1000);
Ext.get(id).setStyle('background-color', 'green');
}
Пробовал вызывать метод doLayout() , не помогает. Extjs 4.2 используется. Заранее спасибо за помощь |
ExtJs живёт в двух мирах: мире элементов DOM-модели и мире компонентов.
Выполняя Ext.get(id) вы получаете обёртку DOM-элемента. Экземпляр класса Ext.dom.Element: http://docs.sencha.com/extjs/4.2.1/#...xt.dom.Element У него нет метода doLayout(). Это метод из другого мира - мира компонентов. Выведите в консоль: console.log( Ext.get(id) ); и console.log( Ext.getCmp(id) ); Что там написано? |
Упс... Кажется, я неправильно понял вопрос...
|
А так виден первый цвет?
function clickPanel(id) {
Ext.get(id).setStyle('background-color', 'red');
//sleep(1000);
//Ext.get(id).setStyle('background-color', 'green');
}
|
Попробуйте Ext.defer().
http://docs.sencha.com/extjs/4.2.1/#...t-method-defer
function clickPanel(id) {
Ext.get(id).setStyle('background-color', 'red');
Ext.defer(function() {
Ext.get(id).setStyle('background-color', 'green');
}, 1000);
}
|
| Часовой пояс GMT +3, время: 07:12. |