IE7 выпадающее меню над вспышкой - границы отправляют курсор мыши на вспышку - PullRequest
0 голосов
/ 21 ноября 2010

edit: tl; dr: в ie7, границы элемента css dropmenu дают фокус мыши на объекте flash под выпадающим битом.помощь.

привет.я пытаюсь создать выпадающее меню css, которое появляется над флэш-объектом.это меню создается с использованием иерархии ul> li>, а теги "a" имеют границу.проблема, с которой я сталкиваюсь, заключается в том, что в IE7, когда мышь пересекает границу тегов «a», событие наведения мыши отправляется внизу во флэш-объект, а мышка - в меню.это приводит к исчезновению меню при перемещении мыши вниз по меню.

я нашел этот поток , но не уверен, как реализовать решение для вертикального меню.

соответствующие примеры кода (я понимаю, что большая часть этого - полный беспорядок, но я получил большую часть этого от дизайнера и не могу тратить время на переписывание, чтобы быть немного меньше ... тьфу: P)

css:

 d.menu-td:hover ul.submenu, td.iehover ul.submenu, ul.submenu li:hover, ul.submenu li a:hover,
td.hmenu-td:hover ul.submenu, td.iehover ul.submenu li, td.iehover ul.submenu li a{
 display:block;
} 
ul.submenu li{
 border-top: 2px solid #000;
 display: block;
}
ul.submenu li a:link, ul.submenu li a:visited{
 font-size: 12px;
 padding: 2px;
 display: block;
 background-color: #277aab;
 height: 34px;
 color: #93bdd5;
}
ul.submenu li a:hover, ul.submenu li a:active{
 background-color: #319edf;
 color: #1f628d;
}

html:

Flash-ролик:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="990" height="280" id="header" align="middle" onmouseover="alert('111');">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="./upload/<?=$page_flash?>" />
<param name="quality" value="high" />
<param name="wmode" value="opaque" />
<embed src="./upload/<?=$page_flash?>" quality="high" wmode="transparent" width="990" height="280" name="header" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

выпадающее меню:

<td align="center" class="menu-td">
   <a href="index.php?p=2" class="menu">סניפים</a>
      <div style="position:relative;left:35px;">
         <ul class="submenu">
            <li>
               <a href="index.php?p=9" class="menu">link1</a>
            </li>
            <li>
               <a href="index.php?p=10" class="menu">link2</a>
            </li>
            <li>
               <a href="index.php?p=11" class="menu">link3</a>
            </li>
            <li>
               <a href="index.php?p=12" class="menu">link4</a>
            </li>
            <li>
               <a href="index.php?p=13" class="menu">link5</a>
            </li>
            <li>
               <a href="index.php?p=14" class="menu">link6</a>
            </li>
         </ul>
      </div>
  </td>

немного javascript, чтобы помочь сделать, то есть распознать событие при наведении:

 <!--[if gte IE 5.5]>
  <script language="JavaScript" type="text/javascript">
   jQuery(document).ready(function(){
     jQuery("td.menu-td, td.hmenu-td").hover(
    function() { jQuery(this).addClass("iehover"); },
    function() { jQuery(this).removeClass("iehover"); }
     );
   });
  </script>
 <![endif]-->

ссылкана фактическую страницу: текст ссылки (оскорбительное меню является второй ссылкой справа вверху страницы).

любая и вся помощь очень ценится.

Ответы [ 2 ]

1 голос
/ 21 ноября 2010

Вы должны добавить любой цвет фона в подменю <ul>. В основном, если у элемента нет фона, он также «прозрачен» для событий мыши.

0 голосов
/ 21 ноября 2010

То, что вам нужно, это сделать вашу вспышку прозрачной, как this (точка 6) .

...