0

我有两个<h:commandLink>,在每个中<h:commandLink>我都放置了一个<p:graphicImage>我想在onClick事件中更改图像的宽度和高度。默认情况下usFlag保持活动状态(意味着比其他更大)。代码片段如下...

<p:commandLink id="usLink" action="#{localeController.switchLocale('en')}">
    <p:graphicImage id="usFlag" value="/resources/images/us-flag.gif" styleClass="activeFlag"/>
</p:commandLink>
<p:commandLink id="frLink" action="#{localeController.switchLocale('fr')}">
    <p:graphicImage id="frFlag" value="/resources/images/fr-flag.gif" styleClass="inActiveFlag"/>
</p:commandLink>

我想在点击一个链接后设置该图像的高度、宽度。我希望它使用js来完成。这怎么可能?谁能帮我?谢谢

4

1 回答 1

0

您需要根据语言环境为图像动态分配 styleClass。在您的支持 bean 中创建一个方法,例如

public String getStyleClassForImageLocale(String locale)
{
// if locale = the currently selected locale
// then return "activeFlag"
// else return "inactiveFlag"
}

然后在你的 xhtml 中:

<p:commandLink id="usLink" action="#{localeController.switchLocale('en')}">
    <p:graphicImage id="usFlag" value="/resources/images/us-flag.gif" styleClass="#{localeController.getStyleClassForImageLocale('en')"/>
</p:commandLink>
<p:commandLink id="frLink" action="#{localeController.switchLocale('fr')}">
    <p:graphicImage id="frFlag" value="/resources/images/fr-flag.gif" styleClass="#{localeController.getStyleClassForImageLocale('fr')"/>
</p:commandLink>

然后在你的 css 文件中设置样式类 .inActiveFlag 和 .activeFlag 的宽度和高度

于 2013-06-10T13:37:14.433 回答