我使用了RichFaces的rich:modalPanel
,我尝试通过JavaScript设置top
和left
属性(定义窗口在屏幕上显示的位置)。我试图获得另一个元素的偏移并使窗口出现在相同的偏移量中。到目前为止还没有成功。
我做了什么:
<rich:modalPanel top="document.getElementById('some_element').offset().top()"
left="document.getElementById('some_element').offset().left()">
但它没有用!窗口始终显示在左上角
注意:当我提醒document.getElementById('some_element').offset().left()
或document.getElementById('some_element').offset().top()
的结果时,它会给我正确的位置。
答案 0 :(得分:0)
@top和@left需要一个String值,如果你将JavaScript放在那里它将被视为一个String。
面板JS API中的show
方法有两个参数 - 事件和选项,所以你可以这样做:
#{rich:component('panelId')}.show(null, {
top: document.getElementById('some_element').offset().top(),
left: document.getElementById('some_element').offset().left()
});