我目前正在使用 IceFaces 1.8,并且一直在尝试找到一种简单的方法来链接 UI 组件上的效果。例如,我在页面右上角有一个“显示帮助”链接。单击时,帮助文本将出现在用户的某些控件下方。我希望通过向下滑动然后突出显示此文本。
我的 bean 上有一个返回 true 或 false 的基本isRenderHelp()
方法,并使用它来使用标签fire
上的属性呈现效果<ice:effect>
,所以它看起来像这样:
<ice:effect effectType="slidedown" fire="#{myBean.renderHelp}">
<ice:effect effectType="slideup" fire="#{!myBean.renderHelp}">
当帮助链接切换 bean 中的 renderHelp 标志时,这会导致帮助部分滑入和滑出。有一个小例外,即在第一次单击链接之前,renderHelp 返回 null 以防止在第一页渲染时触发上滑动画。
现在,我注意到查看 1.8 的展示代码,有一个EffectQueue
扩展 Effect 的类。这允许我将多个效果添加到我的 bean 中的队列中,并从getEffect
我可以分配给 panelGroupeffect
属性的方法返回队列。但是,尽管设置了优先级,但它不会执行队列中的事件。我确定我没有正确使用它,我想知道应该如何使用它。
通常我会为这种类型的事情使用 jQuery,但 UI 使用许多部分提交。我们的页面是通过 Liferay portlet 显示的,因此在任何 partialSubmit 上都会重新呈现视图,从而撤消 jQuery 对 DOM 的任何修改。
那么有没有什么简单的方法可以在 IceFaces 1.8 中链接效果?建议?