imho.ws |
![]() |
![]() |
![]() |
# 1 |
Guest
Сообщения: n/a
|
глобальная проблема IFRAME
такой пример есть две ячейки
<tr> <td></td> <td></td> </tr> в первой название меню, во второй подменю, .... <script language="JavaScript"> function showdiv(id, num) { document.getElementById(id).style.display = num ? "block" : "none"; } </script> .... <tr> <td onMouseOver="showdiv('1', 1)" onMouseOut="showdiv('1', 0)">название меню</td> <td> <div id="1"><iframe src=""></iframe></div> </td> </tr> Задача в том чтобы при наведении курсора на первый пункт меню, слева появлялось подменю... Везде работает, но опера не хочет работать: подвожу курсор, подменю появляется, но как только я хочу навести на него мышкой, оно сразу исчезает, хотя во всех других броузерах все нормально... Если убрать <iframe> то и в Opera все нормально работает, но без <iframe> нельзя, так как когда рядом с меню появляются элементы форм, или flash-анимация, то они накладываются на появляющийся слой - пробовал z-index не спасает... спасает только <iframe>... Как быть с Opera? |
![]() |
# 2 |
Member
Регистрация: 12.07.2004
Адрес: Очень странное место.
Сообщения: 328
![]() ![]() |
1. ЭЭЭЭ... При всем уважении, у тебя в коде написано что при выводе курсора за область ячейки с надписью название меню вторая ячейка должна исчезнуть... Когда ты наводишь курсор на появившееся меню то выходишь за границы этой ячейки. Так что как раз опера ведет себя правильно...
И iframe тут абсолютно не причем... Решение: а. сворачивать по клику пользователя на какой то триггер б. сворачивать по прошествию периода времени (setinterval или что то вроде), когда пользователь не двигал там мышкой (onMouseMove) 2. Что касается перекрытия в опере. а. Z-index поставь большой. 100 например. б. ниже не должно быть элементов с position: relative или absolute. Иначе они всегда будут перкрывать твою менюшку. в. если там никак без такого позиционирования не обойтись - расположи меню после этих элементов по тексту, а затем перемети их в нужное положение програмно. Да, еще одно: id не должно начинатся с цыфры... проверь валидатором =) |
![]() |
![]() |
# 5 | ||
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
он_Кофе, раз уж у тебя темы 2, то отвечу здесь, с твоего позволения, чтобы не флудить тут http://www.imho.ws/showthread.php?p=1151684#post1151684
Итак: Цитата:
Цитата:
Код:
<script language="JavaScript"> var innn = 0; function showdiv(id, num) { if (num ==0){ if (innn == 0){innn =1;} else{ innn = 0; //Вошли, в меню document.getElementById(id).style.display = "none"; } } else{ document.getElementById(id).style.display = "block"; } //document.getElementById(id).style.display = num ? "block" : "none"; } </script> <table border=0 align=left style="margin:0; padding:0"> <tr onMouseOver="showdiv('ttt1', 1)"> <td>название меню</td> <td></td> </tr> </table> <div style="border: 1px solid red; width:220; height: 210" onMouseOut="showdiv('ttt1', 0)" id="ttt1"> <iframe src="iframe.htm" style="margin: auto; width:200; height: 200; display: block" frameborder=0 align=middle></iframe></td> </div>
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
||
![]() |