Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.03.2013, 23:31
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Передвинуть меню в пределах экрана
Как перерисовать объект типа Ext.menu.Menu?

Дело в том, что если меню появляется например по клику правой кнопки (аля контестное меню), то оно сдвигается в сторону в случае, если выходит за пределы экрана.

Но этого почему-то не происходит, если после отображения меню начать добавлять в него новые пункты. В итоге, если меню находится внизу экрана и новые меню начинают уходить за пределы экрана, то меню не сдвигается и эти дополнительные пункты не доступны для клика.

Пока выкрутился так:
menu.hide();
menu.show();

Хотелось бы после добавления новых пунктов перерисовать меню.
Но как это сделать?

.

Последний раз редактировалось khusamov, 02.03.2013 в 23:36.
Ответить с цитированием
  #2 (permalink)  
Старый 23.03.2013, 01:41
Новичок на форуме
Отправить личное сообщение для Krepkii Посмотреть профиль Найти все сообщения от Krepkii
 
Регистрация: 26.01.2013
Сообщений: 9

menu.destroy();
а потом опять menu.create(); пробовал?
Ответить с цитированием
  #3 (permalink)  
Старый 23.03.2013, 02:23
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Сообщение от Krepkii Посмотреть сообщение
menu.destroy();
а потом опять menu.create(); пробовал?
По-мойму, это еще хуже, чем hide+show.
Ответить с цитированием
  #4 (permalink)  
Старый 24.03.2013, 04:19
Новичок на форуме
Отправить личное сообщение для Krepkii Посмотреть профиль Найти все сообщения от Krepkii
 
Регистрация: 26.01.2013
Сообщений: 9

а если при вызове меню определять его положение
x_menu[id] = Ext.get(id).getX();
y_menu[id] = Ext.get(id).getY();

а потом при добавлении пунктов сдвигать на нужное количество пикселей (p)
Ext.get(id).setX((x_menu[id]+p));
Ext.get(id).setY((y_menu[id]+p));
Ответить с цитированием
  #5 (permalink)  
Старый 24.03.2013, 13:00
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Делать ту работу, которую должно делать само меню автоматически?

Ну уж нет. Все это называется "выкрутился".

Нужен метод типа menu.repaint(). А его нет.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открыть слайд (раздел) текущего пункта меню Demath Элементы интерфейса 8 18.07.2012 02:49
Выпадающие меню like2dev Общие вопросы Javascript 9 21.10.2011 14:09
Меню уходит за край экрана stan31337 jQuery 1 13.09.2011 11:22
Проблема с аккордионом и меню Tie ExtJS 3 01.09.2011 14:36
Меню выезжающее слева при подведении курсора к левой части экрана Артём Тарасов Общие вопросы Javascript 6 25.02.2009 14:18