Primefaces 3.1 Оверлейная панель не работает в IE8 - PullRequest
4 голосов
/ 13 февраля 2012

Этот вопрос был ранее размещен на форуме Primefaces, где я не получил никакого ответа.

Я пробую Primefaces 3.1, потому что мне нужна функциональность наложенной панели. К сожалению, в моем Internet Explorer 8 (ie8) следующая очень простая оверлейная панель никогда не отображается, хотя она отлично работает на Firefox 5.x. Вот некоторые моменты в HTML-коде, которые напрямую связаны с проблемой Ie8: - странице не нужна вертикальная полоса прокрутки (если на странице есть полоса прокрутки) - высота панели оверлея фиксирована.

<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

Ответы [ 3 ]

1 голос
/ 05 августа 2013

Поставьте следующий код Javascript перед , закрывающим тег h: body .

<script type="text/javascript">
 if ( $.browser.msie) {
   if(parseInt($.browser.version, 10) === 8){
      var overlayPan = $("div.ui-overlaypanel");
      $(overlayPan).css('position','fixed');
    }
  }
</script>
0 голосов
/ 05 июля 2012

Проверьте ваши стили для overflow:hidden (также для дочерних элементов .ui-overlaypanel), поиграйте с ними overflow:visible - в сочетании с фиксированным размером (как у вас уже есть) я смог решить проблему.

0 голосов
/ 23 марта 2012

Вы можете попробовать установить appendToBody на true для панели наложения.Это может помочь в некоторых ситуациях, хотя, честно говоря, я думаю, что ваша страница достаточно проста, чтобы это ничего не изменило.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...