我有一个commandButton,它可以重定向到包含表单的页面。在commandButton操作中,我调用了一个方法,该方法从DB加载数据以填充此表单,并重定向到它的页面。加载大约需要5-10秒。
在gif onstart方法中,我在blockUI上调用show(),如果在oncomplete发生时调用hide(),它会在数据加载操作和页面重定向之前隐藏动画commandButton,因此它没有任何用处。此外,当我决定不调用hide,以便在数据加载时可以看到它时,它会在ajax完成时停止动画(我猜是这样)。
如何在数据加载期间使gif动画化?
发布于 2015-03-19 20:03:56
我尝试使用带有h:graphicImage内容的blockUI来显示加载器。
<p:blockUI id="blockUI" block="contentToBlock" widgetVar="loader">
LOADING<br/>
<h:graphicImage library="images/" name="loader.gif" height="60px" width="60px"/>
</p:blockUI>在这种情况下,在重定向到另一个页面之前,gif在ajax请求完成后停止动画,并且在数据加载期间冻结。
<p:commandButton value="Redirect" id="someID" ajax="false"
onclick="PF('loader').show()"
action="#{redirectToNextPageAndLoadDataAction()}"/>使用ajax=false和onclick可以让它像我想要的那样工作,在页面重定向之前都可以看到动画的gif,尽管我从来没有用这种方式隐藏它,所以当你使用浏览器返回到前一个页面时,gif仍然是打开的,UI被阻止了,这不是很好,但我正在处理它。
更新:这最后一个错误只在Firefox中发生
https://stackoverflow.com/questions/29120413
复制相似问题