Jump to content
  • 0

Перекрытие Flash - проблема


Dokea
 Share

Question

Проблема в том, что в Opera и Firefox блок с Flash меню блокирует контент, находящийся под ним.

Вот пример: http://e-kao.ru/flash-menu

Попробуйте выделить текст рядом с меню.

Нужно сделать так, чтобы Flash оставался прозрачным, пункты меню раскрывались над контентом, но и сам контент был доступен для клика.

В принципе, сам текст не так важен, но когда под блоком с flash находится ссылка и на нее нельзя кликнуть - очень обидно.

При этом в IE все отлично работает. И меню активируется и контент доступен.

Обыскал весь инет, но не смог найти решения. Может кто уже сталкивался с данной проблемой?

Edited by Dokea
Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0
Проблема в том, что в Opera и Firefox блок с Flash меню блокирует контент, находящийся под ним.

Вот пример: http://e-kao.ru/flash-menu

Попробуйте выделить текст рядом с меню.

Нужно сделать так, чтобы Flash оставался прозрачным, пункты меню раскрывались над контентом, но и сам контент был доступен для клика.

В принципе, сам текст не так важен, но когда под блоком с flash находится ссылка и на нее нельзя кликнуть - очень обидно.

При этом в IE все отлично работает. И меню активируется и контент доступен.

Обыскал весь инет, но не смог найти решения. Может кто уже сталкивался с данной проблемой?

Не нашел где обнаружить проблему, если это изощренный спам, то я пожалуй ветку удалю, а пользователя забаню.

Link to comment
Share on other sites

  • 0
Ух ты, я думал это реклама

Ну что я могу сказать, кроме как менять z-index у флеша, ничего другого не приходит в голову.

z-index я естественно пробовал. Даже не вижу смысла спрашивать, если можно найти очевидный ответ, основанный на базовых знаниях.

Если у Flash z-index выше, чем у контента - Flash блокирует контент, хотя и прозрачен. Если ниже - пункты меню открываются под контентом и их не видно.

Единственная мысль, которая есть - это сделать java скрипт, который при наводе на область контента выносит его вверх.

Но это слишком трудоемкое решение, в связи с отсутствием знаний в области java.

Да и к тому же неестественное.

Edited by Dokea
Link to comment
Share on other sites

  • 0
z-index я естественно попробовал. Даже не вижу смысла спрашивать, если можно найти очевидный ответ, основанный на базовых знаниях.

Если у Flash z-index выше, чем у контента - Flash блокирует контент, хотя и прозрачен. Если ниже - пункты меню открываются под контентом и их не видно.

Поведение flash не гарантировано в разных браузерах, так как управление полностью передается стороннему плагину, и браузер особо не участвует в рендеринге.

Так что вариант всего один видится. По умолчанию поставить z-index у объекта ниже текста.

Во flash'е придется вызывать при наведении на основные пункты меню через getURL javascript функцию, которая будет ставить больший z-index, а при уведении мыши с объекта возвращать все в исходное состояние.

Link to comment
Share on other sites

  • 0
Поведение flash не гарантировано в разных браузерах, так как управление полностью передается стороннему плагину, и браузер особо не участвует в рендеринге.

Так что вариант всего один видится. По умолчанию поставить z-index у объекта ниже текста.

Во flash'е придется вызывать при наведении на основные пункты меню через getURL javascript функцию, которая будет ставить больший z-index, а при уведении мыши с объекта возвращать все в исходное состояние.

А можно так сделать, чтобы при наводе на Flash ролик увеличивалась его ширина?

Добавлено: пока писал, предложили хорошее решение. Спасибо. B)

Правда всё же придется немного учить Java.

Кстати, если кто подскажет, как это проще сделать (java скрипт) - будет очень здорово.

Да и другим это поможет, кто с такой сложностью сталкивается.

Edited by Dokea
Link to comment
Share on other sites

  • 0
А можно так сделать, чтобы при наводе на Flash ролик увеличивалась его ширина?

Добавлено: пока писал, предложили хорошее решение. Спасибо. B)

Правда всё же придется немного учить Java.

Кстати, если кто подскажет, как это проще сделать - будет очень здорово.

Да и другим это поможет, кто с такой сложностью сталкивается.

JS не сильно отличается от ActionScript'а

Link to comment
Share on other sites

  • 0

getURL('java script:onmouseover("document.getElementById('box').style.zIndex = 500(document.getElementById('box').style.zIndex) + 1");');

Путем гугления составилось нечто такое... Буду мучать скрипт, если получится отпишу.

Сейчас это как по-китайски. B)

Edited by Dokea
Link to comment
Share on other sites

  • 0

Уф!! Решил вопрос. Вначале посмотрел исходники меню, а там их с десяток. Чуть ум не поломал.

В итоге сделал так:

<span onmouseover="document.getElementById('mainmenu').style.zIndex = Number(document.getElementById('mainmenu').style.zIndex) + 2000" onmouseout="document.getElementById('mainmenu').style.zIndex = Number(document.getElementById('mainmenu').style.zIndex) - 2000">
<div id="mainmenu" >
Меню
</div>
</span>

И всё работает. B)

Edited by Dokea
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy