javascript - IE7 : Can't display popup box when hovering over transparent background

标签 javascript jquery css internet-explorer internet-explorer-7

这可能是我见过的最奇怪的事情之一...我有一个元素列表,每个元素都包含一个图标图像和一个隐藏的弹出框。当用户悬停在图标上时,弹出框显示在上方(jQuery 的悬停)。这在所有浏览器和 IE8/9 中都可以正常工作,但 IE7 有问题。图标和弹出框之间有一个“间隙”。如果我设置背景颜色并且弹出框的容器接触到图标行,我可以在用户将鼠标移过它以进行选择时让弹出框显示在屏幕上。

但是,我不想显示背景色,如果不显示,当用户将鼠标移动到该间隙的任何位置时,弹出框就会消失。换句话说,弹出窗口显示在正确的位置,但用户无法进行选择,因为如果不将鼠标悬停在空白处就无法到达弹出窗口。

这是一些 HTML 和 CSS:

<div class="icon-nav">
   <ul>
      <li>
        <div class="popup-wrapper">
            <a href="#" class="replace air" rel="air">Air Quality</a>
            <div class="popup-container">
                <div class="popup-content"></div>
            </div>
        </div>
      </li>
      <li>
         <div class="popup-wrapper">
            <a href="#" class="replace health" rel="health">Public Health</a>
            <div class="popup-container">
                <div class="popup-content"></div>
            </div>
        </div>
      </li>
      Etc....
   </ul>
</div>

CSS:

.icon-nav { position: absolute; top: 388px; z-index: 999; width: 100%; } /* Positioned relative to a wrapper element. */
.icon-nav ul { display: block; width: 968px; margin: 0 auto; position: relative; }
.icon-nav ul li { float: left;  }
.icon-nav ul li .popup-wrapper {}
.icon-nav ul li .popup-container { position: absolute; bottom: 0px; padding-bottom: 35px; z-index: 9999; width: 100%; display:none; left: 0px; }
.icon-nav ul li .popup-content { width: 900px; height: 260px; background-color: #fff; margin: 0 auto; padding:30px; }
.icon-nav ul li a { width:121px; height: 115px; overflow: hidden; }

jQuery:

$('.icon-nav li .popup-wrapper').hover(
      function(){
         $('a',this).addClass('hover')
         var name = $('a', this).attr('rel');
         var popup = $('.popup-container', this);
         $(popup).css({'display':'block'});
         // More Code...
      },function(){
        $('a',this).removeClass('hover');
        $('.popup-container', this).css({'display':'none'});
      }
   );

TIA!!!

最佳答案

创建一个 1 像素的正方形透明 png,并将其用作元素背景。

关于javascript - IE7 : Can't display popup box when hovering over transparent background,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5998295/

相关文章:

javascript window.location 删除 SSL 协议(protocol)

javascript - 如何在外部网页上的 Firefox 中运行 Javascript 和 jQuery?

events - 如何解绑和重新绑定(bind)

html - 如何在具有特定列大小的 div 中制作一个 html 滚动表?

javascript - 哪个 JavaScript 框架可以搜索 CSS 样式表规则并编辑它们的属性?

javascript - html5-javascript 在 Canvas 上一步一步绘图

Chrome 中的 JavaScript 警报()

javascript从json中获取元素id

javascript - form_for 表单的字符计数器未实时更新计数

css - Flexbox 居中元素导致内容重叠