0

我有一个面板,如果它只显示,我想对其执行隐藏效果,如果它被隐藏,效果不应该起作用。

 <h:outputLink id="open_link" value="#" styleClass="underline">
            Click To Open   

<p:effect for="blank_panel" type="blind" event="click" speed="2000">
        <f:param name="mode" value="'hide'" />
</p:effect>

<p:effect type="blind" event="click" for="display_tabs" delay="1000">
    <f:param name="mode" value="'show'" />
</p:effect>

</h:outputLink>

    <h:panelGroup id="blank_panel" layout="block">

    </h:panelGroup>

我希望在第二次单击链接时(在这种情况下隐藏了blank_panel),不执行blank_panel的效果

     <!-- executed only if the blank_panel is shown -->
     <p:effect for="blank_panel" type="blind" event="click" speed="2000">
        <f:param name="mode" value="'hide'" />
</p:effect>
4

1 回答 1

1

INMO 你真的最好使用 jQuery 效果,但是...

既然你想使用 p:effect of primefaces 我认为你应该<h:outputLink用它们的可见性来玩两个,按下一个应该隐藏它并显示第二个<h:outputLink,反之亦然......

 <h:outputLink id="open_link" 
    onclick="$('#open_link').hide();$('#open_link2').show();" value="#" 
    styleClass="underline">
            Click To Open   
    <p:effect....
    <p:effect....
 </h:outputLink>


 <h:outputLink id="open_link2"
    onclick="$('#open_link2').hide();$('#open_link').show();" value="#" 
    styleClass="underline">
            Click To Open   
    <p:effect...
 </h:outputLink>

不确定 id...(如果您不使用 prependId="false" 等...)

于 2013-04-21T09:54:40.910 回答