Как анимировать панель в XUL для дополнения Firefox - PullRequest
2 голосов
/ 17 сентября 2010

Я написал симпатичное дополнение для Firefox для компании, в которой я работаю в качестве IT Ticket System. Он уведомляет менеджеров о новых билетах или уведомляет пользователей об изменениях в их билетах.

Я начал использовать встроенный модуль уведомлений для Firefox в Windows с:

var alertsService = Components.classes ["@ mozilla.org/alerts-service;1"].getService(Components.interfaces.nsIAlertsService);

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

Тем не менее, я бы хотел сделать это немного более очевидным, так же, как уведомления, анимируя панель вверх и переходя от прозрачного к почти сплошному. У кого-нибудь есть способы сделать это? Я нашел несколько небольших фрагментов кода JavaScript, но не нашел ничего, что действительно работает должным образом.

1 Ответ

2 голосов
/ 21 сентября 2010

Нет встроенных методов для создания анимации, поэтому вам нужно будет запустить собственный таймер и обновить положение панели.

Вы можете попробовать вызвать метод panel.moveTo для изменения положения.

https://developer.mozilla.org/en/XUL/panel#m-moveTo

Вы также можете сделать панель отдельным окном и обновить верхнюю / левую часть окна. Служба оповещения выполняет анимацию типа «смахивание», когда они настраивают окно, разворачивающееся вверх. Вы можете получить это отсюда.

http://mxr.mozilla.org/mozilla1.9.2/source/toolkit/components/alerts/resources/content/alert.js

...