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, время: 00:37. |