0

以下代码将打开一个rich:popupPanel,它与h:commandButton 垂直对齐并位于其正下方:

<h:commandButton value="Open popup" id="openBtn">
    <rich:componentControl event="click" target="myPopup"
        operation="show">
        <a4j:param name="event" value="event" noEscape="true" />
        <rich:hashParam>
            <a4j:param noEscape="true" name="top"
                value="jQuery(#{rich:element('openBtn')}.parentNode).offset().top  + jQuery(#{rich:element('openBtn')}.parentNode).height()" />
            <a4j:param noEscape="true" name="left"
                value="jQuery(#{rich:element('openBtn')}.parentNode).offset().left" />
        </rich:hashParam>
    </rich:componentControl>
</h:commandButton>
<rich:popupPanel id="myPopup" modal="false" autosized="true" resizeable="false" .... 

现在我希望弹出窗口出现在用户单击时光标所在的位置<h:commandButton>,但我不知道如何执行此操作(不幸的是,我没有任何 jquery 练习)。你能帮我么?

谢谢

4

1 回答 1

1

也许你应该试试这个:

<a4j:param noEscape="true" name="top"
value="jQuery(#{rich:element('openBtn')}.parentNode).offset().top  + jQuery(#{rich:element('openBtn')}.parentNode).height() - $(window).scrollTop()" />

这会将“top”的值设置为元素的位置减去滚动条的垂直位置。

jQuery 滚动顶部()

于 2013-05-30T10:45:12.507 回答