Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.09.2013, 18:43
Новичок на форуме
Отправить личное сообщение для asthac Посмотреть профиль Найти все сообщения от asthac
 
Регистрация: 11.09.2013
Сообщений: 1

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 используется. Заранее спасибо за помощь

Последний раз редактировалось asthac, 11.09.2013 в 18:52.
Ответить с цитированием
  #2 (permalink)  
Старый 12.09.2013, 18:20
Профессор
Отправить личное сообщение для novikov Посмотреть профиль Найти все сообщения от novikov
 
Регистрация: 19.11.2012
Сообщений: 178

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) );

Что там написано?
Ответить с цитированием
  #3 (permalink)  
Старый 12.09.2013, 18:27
Профессор
Отправить личное сообщение для novikov Посмотреть профиль Найти все сообщения от novikov
 
Регистрация: 19.11.2012
Сообщений: 178

Упс... Кажется, я неправильно понял вопрос...
Ответить с цитированием
  #4 (permalink)  
Старый 12.09.2013, 18:30
Профессор
Отправить личное сообщение для novikov Посмотреть профиль Найти все сообщения от novikov
 
Регистрация: 19.11.2012
Сообщений: 178

А так виден первый цвет?

function clickPanel(id) {

    Ext.get(id).setStyle('background-color', 'red');
    //sleep(1000);
    //Ext.get(id).setStyle('background-color', 'green');

}
Ответить с цитированием
  #5 (permalink)  
Старый 12.09.2013, 18:32
Профессор
Отправить личное сообщение для novikov Посмотреть профиль Найти все сообщения от novikov
 
Регистрация: 19.11.2012
Сообщений: 178

Попробуйте 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);

}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS: работает на сервере, не работает из папки -majestic- Общие вопросы Javascript 2 02.08.2012 14:41
Не работает push! Динамическая вставка TSEH25 ExtJS 5 03.07.2012 13:00
jQyery функция странно работает! Midel Общие вопросы Javascript 4 08.04.2012 13:40
помогите найти ошибку (работает в IE но не работает в Firefox) Len4ik Javascript под браузер 2 11.05.2010 15:41
Safari + ajax некорректно работает, а в других работает demi AJAX и COMET 35 15.07.2009 14:11