0

访问:查看我的示例:http ://www.nycthirst.com/test-space/test-orig-best.html

这是代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

<style type="text/css">
<!--


div#GHOLD { position: relative; width: 400px; height: 464px; 
          }
div.gname { position: absolute; top: 7px; left: 0px; height: 23px;  text-align: center;
            /*border: solid black 1px; padding-top: 4px;*/
            z-index: 20;
          }
div.bname { position: absolute; top: 3px; left: 0px; height: 27px;  text-align: center;
            padding-top: 4px;
            /*border:solid black 1px;*/
            z-index: 25;
          }
div.ihold { position: absolute; top: 36px; left: 0px; 
            width: 400px; height: 360px; z-index: 10; 
          }
img.bgraph { border: none; width: 400px; height: 360px; z-index: 10; }

-->
</style>


<script type="text/javascript">
function graphShow(which)

{
var ghold = document.getElementById("GHOLD");
var gdivs = ghold.getElementsByTagName("DIV");
gdivs[0].className = gdivs[1].className = gdivs[2].className = "gname";
gdivs[which].className = "bname";
gdivs[3].style.zIndex = gdivs[4].style.zIndex = gdivs[5].style.zIndex = 10;
gdivs[which+3].style.zIndex = 15;

}

</script>
</head>
<body>
<div id="GHOLD">
  <div class="bname" style="left: 39px;  width: 77px; height: 135px; top: 35px;" onMouseOver="graphShow(1);"></div>
  <div class="gname" style="left: 162px; width: 77px; height: 135px; top: 35px;" onMouseOver="graphShow(0);"></div>
  <div class="gname" style="left: 280px; width: 77px; height: 135px; top: 35px;" onMouseOver="graphShow(2);"></div>
  <div class="ihold" style="z-index: 15;">
    <img class="bgraph" src="http://www.asme.org/wwwasmeorg/media/ASMEMedia/Events/Energy/energy_landing_page_drop1.png" alt="95 percent">
  </div>
  <div class="ihold">
    <img class="bgraph" src="http://www.asme.org/wwwasmeorg/media/ASMEMedia/Events/Energy/energy_landing_page_drop2.png" alt="69 percent" style="z-index: 10;">
  </div>
  <div class="ihold">
    <img class="bgraph" src="http://www.asme.org/wwwasmeorg/media/ASMEMedia/Events/Energy/energy_landing_page_drop3.png" alt="52 percent" style="z-index: 10;">
  </div>
</div>

</body>
</html

>

因此,上面的页面代码在 Firefox 和 chrome 中完美运行。它在 IE 中没有任何作用。这个想法是在鼠标悬停或悬停状态时背景图像会改变。如果有更简单的解决方案,我很乐意看到它。我是 Javascript 的新手。

4

1 回答 1

0

IE 似乎不喜欢将鼠标事件传递给看起来不可见的元素。如果您的触发器 div 上没有背景或可见文本,则 mouseover 事件会直接通过它们。

您基本上必须为触发器 div 提供背景或内容,以覆盖您希望鼠标悬停发生的区域。IE 不关心背景的内容,只要它存在并且颜色不是“透明”的。您甚至应该能够使用 1x1 透明 GIF 作为背景,只要您平铺它。

于 2013-02-13T00:06:52.997 回答