Проблемы с динамической настройкой style.overflow в Firefox - PullRequest
2 голосов
/ 03 февраля 2009

Я работаю над сайтом для клиента, и у нас есть следующие требования:

  1. Если ширина браузера превышает 960 пикселей, полоса прокрутки не отображается.
  2. Когда контент шире, чем браузер, но ширина браузера превышает 960, полоса прокрутки не отображается
  3. Если браузер имеет 960 пикселей, не показывать полосу прокрутки, когда это необходимо.

У меня есть следующий javascript, который отлично работает под ie, chrome, safari и opera, но умирает в FF, заставляя страницу «перезагружать» клиентскую часть (перерисовывает все элементы).

function sizeHandler(myWidth) {
    if (myWidth > 960)
        document.documentElement.style.overflowX = 'hidden';
    else
        document.documentElement.style.overflowX = 'auto';
}

Поскольку все, кажется, ставят под сомнение содержание, вот HTML:

<body>
    <div id="flashContent">
        <object...>
        </object>
    </div>
</body>
<script...>$(document).ready(sizeHandler(getWidth()));</script>

Не обращайте внимания на getWidth (), он работает, но я не хочу добавлять к этому еще 15 строк;). Тег объекта является флэш-объектом.

1 Ответ

1 голос
/ 04 февраля 2009

Попробуйте это с document.body вместо document.documentElement. Установка свойств CSS для элемента HTML может привести к неожиданным отклонениям.

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