【问题标题】:How To Animate A Panel in XUL For Firefox Add-On如何在 XUL 中为 Firefox 附加组件中的面板设置动画
【发布时间】:2010-09-17 11:34:29
【问题描述】:

我为我作为 IT 票务系统工作的公司编写了一个不错的 Firefox 小插件。它的作用是通知经理有新的工单或通知用户工单的更改。

我开始在 Windows 上使用内置的 Firefox 通知程序:

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

这非常有效。但是,该服务的问题在于您无法真正控制它的速度、时间、样式或内容呈现方式。我决定改用面板,它工作得很好,可以在我想要的地方显示我想要的。

但是,我很想让它更明显一点,就像通知一样,通过动画面板向上移动并从透明变为几乎实心。有没有人有方法可以做到这一点?我找到了一些小的 JavaScript 代码片段,但没有找到任何真正正常工作的东西。

【问题讨论】:

    标签: javascript css firefox-addon xul


    【解决方案1】:

    没有任何内置方法来制作动画,因此您需要滚动自己的计时器并更新面板的位置。

    您可以尝试调用 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

    【讨论】:

    • 谢谢!会试一试的!我设法编写了自己的动画函数来随着时间的推移改变不透明度,效果很好。不喜欢计算每个间隔移动面板多远所涉及的数学!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多