Установка overflow элемента
Здравствуйте. Возникла следующая странная проблема. Задача очень проста: нужно установить джаваскриптом свойство стиля блока overflow. Сейчас неважно в какое именно значение нужно установить данное свойство, проблема в другом. Дело в том, что в блоке присутствует флэш проигрыватель и если джаваскриптом поменять overflow, то проигрыватель перегружается. Естественно останавливается музыка и пропадает плейлист. Это нежелательное последствие наблюдается в FF. В IE и Opera подобного нет. Вот, как обойти данную проблему. Может есть какие нибудь решения?
|
Не знаю точно как обойти эту проблему, но мне кажется будет проще сделать скрипт без изменения overflow. Может сделать свою собственную полосу прокрутки.
|
Сделать свою собственную полосу прокрутки без overflow?
|
Дело в том что overflow: hidden устанавливается для элемента body, чтобы как раз таки убрать полосу прокрутки. Это нужно, при генерации окошка с сообщением, при этом затеняется интерфейс приложения. Затенение с окошком выполняется в отдельном слое, а полоса прокрутки убирается присваиванием overflow body. Это делается джаваскриптом при нажатии определенной кнопки в интерфейсе. Но в интерфейсе имеется встроенный флэш проигрыватель, который должен не останавливать воспроизведение при открытии окошка с сообщением. В FF как раз происходит наоборот (см. первый пост), в момент даже не присваивания, а изменения overflow, перегружается флэш. Я подозреваю, что при этом происходит перерендеривание документа, что и вызывает передергивание флэша... Служба поддержки FF пока молчит... Я понимаю, есть варианты переверстать шаблон, но хотелось бы попробовать средствами CSS+JavaScript.
|
A document.documentElement.style.overflow = "hidden" не пробовали?
|
Это не пробовал, но могу сказать, что "передёргивание" флэша происходит даже тогда, когда изменяешь данный стиль в firebug, в режиме отладки html...
|
Цитата:
А что если растянуть затемняющий слой растянуть на всю высоту документа, а для окошка задать position: fixed. в этом случае пользователь сможет скролить документ, а сообщение всегда будет на одном месте. А вот еще одна идея, что если сделать так положить все содержимое body в div, а его в body. Для этого дива задать размеры и overflow например авто. И во время блокировки экрана накладывать по верх него слой. В этом случае этот див и его полосы прокрутки будут блокироваться. Не очень конечно, но как вариант=) |
Часовой пояс GMT +3, время: 17:39. |