IE8上的Primefaces 3.1覆盖面板故障
这个问题以前在Primefaces论坛上发布过,我没有收到任何答案 我正在尝试PrimeFaces3.1,因为我需要覆盖面板功能。 不幸的是,在我的InternetExplorer8(ie8)中,下面这个非常简单的覆盖面板从来没有显示过,而在Firefox5.x上它工作得非常好。 html代码中似乎与Ie8问题直接相关的一些要点如下: -页面不需要垂直滚动条(如果页面有一个滚动条,则显示覆盖面板) -覆板高度是固定的IE8上的Primefaces 3.1覆盖面板故障,primefaces,overlay,Primefaces,Overlay,这个问题以前在Primefaces论坛上发布过,我没有收到任何答案 我正在尝试PrimeFaces3.1,因为我需要覆盖面板功能。 不幸的是,在我的InternetExplorer8(ie8)中,下面这个非常简单的覆盖面板从来没有显示过,而在Firefox5.x上它工作得非常好。 html代码中似乎与Ie8问题直接相关的一些要点如下: -页面不需要垂直滚动条(如果页面有一个滚动条,则显示覆盖面板) -覆板高度是固定的 <h:body> <div style="height: 3
<h:body>
<div style="height: 300px"></div>
<h:form>
<p:commandLink id="showAllUserList" value="Utenti online" />
<p:overlayPanel for="showAllUserList" my="right bottom" at="right top" dynamic="true"
style="width: 300px; height: 500px; border: 1px solid red; overflow-y: scroll" >
He who rules the skies rules the ground
<br/>
Monti kicks ass
</p:overlayPanel>
</h:form>
</h:body>
统治天空的人统治大地
蒙蒂踢屁股
如果我不能很快找到解决办法,我将不得不自己实施一些措施
谢谢
Filippo您可以尝试将覆盖面板的
appendToBody
设置为true
。在某些情况下,这可能会有所帮助,但老实说,我认为您的页面足够简单,不会产生任何影响。检查您的样式是否有溢出:隐藏
(也包括.ui overlypanel
)的子元素),将溢出:可见与固定大小结合使用(正如您已经知道的)我能够解决这个问题。在关闭h:body标记之前放置以下Javascript代码
<script type="text/javascript">
if ( $.browser.msie) {
if(parseInt($.browser.version, 10) === 8){
var overlayPan = $("div.ui-overlaypanel");
$(overlayPan).css('position','fixed');
}
}
</script>
如果($.browser.msie){
if(parseInt($.browser.version,10)==8){
var overlayPan=$(“div.ui-overlaypanel”);
$(overlapan.css('position','fixed');
}
}
目前,我在IE8上遇到了同样的问题-当覆盖显示时(鼠标悬停效果),我的页面会显示一个滚动条。如果我更改浏览器窗口的大小,则会显示覆盖。。。