Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.03.2010, 14:40
Новичок на форуме
Отправить личное сообщение для gipper2006 Посмотреть профиль Найти все сообщения от gipper2006
 
Регистрация: 19.03.2010
Сообщений: 3

Установка overflow элемента
Здравствуйте. Возникла следующая странная проблема. Задача очень проста: нужно установить джаваскриптом свойство стиля блока overflow. Сейчас неважно в какое именно значение нужно установить данное свойство, проблема в другом. Дело в том, что в блоке присутствует флэш проигрыватель и если джаваскриптом поменять overflow, то проигрыватель перегружается. Естественно останавливается музыка и пропадает плейлист. Это нежелательное последствие наблюдается в FF. В IE и Opera подобного нет. Вот, как обойти данную проблему. Может есть какие нибудь решения?
Ответить с цитированием
  #2 (permalink)  
Старый 20.03.2010, 17:32
Аспирант
Отправить личное сообщение для milk3dfx Посмотреть профиль Найти все сообщения от milk3dfx
 
Регистрация: 26.01.2009
Сообщений: 30

Не знаю точно как обойти эту проблему, но мне кажется будет проще сделать скрипт без изменения overflow. Может сделать свою собственную полосу прокрутки.
Ответить с цитированием
  #3 (permalink)  
Старый 20.03.2010, 17:43
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Сделать свою собственную полосу прокрутки без overflow?
Ответить с цитированием
  #4 (permalink)  
Старый 20.03.2010, 21:21
Новичок на форуме
Отправить личное сообщение для gipper2006 Посмотреть профиль Найти все сообщения от gipper2006
 
Регистрация: 19.03.2010
Сообщений: 3

Дело в том что overflow: hidden устанавливается для элемента body, чтобы как раз таки убрать полосу прокрутки. Это нужно, при генерации окошка с сообщением, при этом затеняется интерфейс приложения. Затенение с окошком выполняется в отдельном слое, а полоса прокрутки убирается присваиванием overflow body. Это делается джаваскриптом при нажатии определенной кнопки в интерфейсе. Но в интерфейсе имеется встроенный флэш проигрыватель, который должен не останавливать воспроизведение при открытии окошка с сообщением. В FF как раз происходит наоборот (см. первый пост), в момент даже не присваивания, а изменения overflow, перегружается флэш. Я подозреваю, что при этом происходит перерендеривание документа, что и вызывает передергивание флэша... Служба поддержки FF пока молчит... Я понимаю, есть варианты переверстать шаблон, но хотелось бы попробовать средствами CSS+JavaScript.
Ответить с цитированием
  #5 (permalink)  
Старый 21.03.2010, 14:15
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

A document.documentElement.style.overflow = "hidden" не пробовали?
Ответить с цитированием
  #6 (permalink)  
Старый 21.03.2010, 23:21
Новичок на форуме
Отправить личное сообщение для gipper2006 Посмотреть профиль Найти все сообщения от gipper2006
 
Регистрация: 19.03.2010
Сообщений: 3

Это не пробовал, но могу сказать, что "передёргивание" флэша происходит даже тогда, когда изменяешь данный стиль в firebug, в режиме отладки html...
Ответить с цитированием
  #7 (permalink)  
Старый 22.03.2010, 07:39
Аспирант
Отправить личное сообщение для milk3dfx Посмотреть профиль Найти все сообщения от milk3dfx
 
Регистрация: 26.01.2009
Сообщений: 30

Цитата:
Сделать свою собственную полосу прокрутки без overflow?
Конечно с использованием overflow, но без изменения свойства во время выполнения скрипта. Думаю что для этого случая делать собственную полосу не нужно.
А что если растянуть затемняющий слой растянуть на всю высоту документа, а для окошка задать position: fixed. в этом случае пользователь сможет скролить документ, а сообщение всегда будет на одном месте.
А вот еще одна идея, что если сделать так положить все содержимое body в div, а его в body. Для этого дива задать размеры и overflow например авто. И во время блокировки экрана накладывать по верх него слой. В этом случае этот див и его полосы прокрутки будут блокироваться. Не очень конечно, но как вариант=)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[новичок] Установка стиля элемента Vo.One Элементы интерфейса 3 18.03.2010 19:57
Центрирование элемента относительно центра другого элемента idrozd jQuery 1 27.01.2010 13:32
передача значения предыдущего элемента ani_jery jQuery 1 16.10.2009 17:24
Обновление элемента на странице ajax-ом Urfin jQuery 1 24.07.2009 18:40
Границы элемента DIv gosha_kap Общие вопросы Javascript 1 06.07.2009 17:12