繁体   English   中英

为什么我的图像切换器在IE中不起作用

[英]Why does my image switcher not work in IE

访问:查看我的示例: 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中不起作用。 这个想法是通过鼠标悬停在鼠标上方或上方的状态,背景图像将发生变化。 如果有一个更简单的解决方案,我很乐意看到。 我是Java的新手。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM