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