show-hide image onmouseover

时间:2010-04-17 22:01:45

标签: javascript html image onmouseover

我有3个图像在彼此之上。第一个是普通的.jpg图像,第二个是灰度版本,第三个是我用透明.png添加的某种效果

现在我想要的是,如果我将鼠标移到这些图像上,灰度图像将被隐藏或替换为另一个图像,然后再次可见。

这里的问题是我是一个js noob,所以我很难找到解决方案^^

我的代码看起来像这样:

<html> 
<head>
<style type="text/css">
<!--                                               
ul li{                     
  display: inline-table;
}
.frame{
  position: relative;  
  height: 110px;
  width: 110px;
}  
.frame div{
  position: absolute;
  top:0px;
  left:0px;              
}       
.effect{                                           
  background:url(images/effect.png) no-repeat;
  height:110px;
  width: 110px; 
}  
.image{
  height:100px;
  width:100px;
  border: 1px solid red;
  margin:4px;    
}
.greyscale{ 
  height:100px;
  width:100px;
  border: 1px solid red;
  margin:4px;          
}    
-->
</style>
</head>

<body>
<ul>
  <li>
    <div class="frame">
      <div class="image"><img src="images/pic1.jpg" height="100" width="100"></div>      
      <div class="greyscale"><img src="images/grey1.jpg" height="100" width="100"></div>
      <div class="effect">qwert</div>
    </div>
  </li> 
  <li>
    <div class="frame">
      <div class="image"><img src="images/pic2.jpg" height="100" width="100"></div>
      <div class="greyscale"><img src="images/grey2.jpg" height="100" width="100"></div>
      <div class="effect">qewrt</div>
    </div>
  </li> 
</ul>

</body>
</html>
如果有人可以帮助我,那么

会非常棒!)

3 个答案:

答案 0 :(得分:3)

试试这个:

.frame:hover .greyscale { display: none; }

答案 1 :(得分:1)

尝试将此添加到您的css:

div.greyscale:hover img { display: none; }

如果将鼠标悬停在灰度div上,这将隐藏您的图像。

答案 2 :(得分:1)

看看这个例子,

这里我在顶部有一个大图像,下面有3张图片。

鼠标悬停时,它们将替换大图像。鼠标移出旧图像会回来

<!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><br />

</head>

<body>
<p>
  <script type="text/javascript" language="javascript">
function changeImage(img){
   document.getElementById('bigImage').src=img;

}
</script>

  <img src="../Pictures/Bigcircle.png" alt="" width="284" height="156" id="bigImage" />
<p>&nbsp; </p>
<div>
  <p>
  <img src="../Pictures/lightcircle1.png" height=79 width=78 onmouseover="changeImage('../Pictures/lightcircle2.png')" onmouseout="changeImage('../Pictures/Bigcircle.png')"/>

 </p>
 <p><img src="../Pictures/lightcircle2.png" alt="" width="120" height="100" onmouseover="changeImage('../Pictures/lightcircle.png')" onmouseout="changeImage('../Pictures/Bigcircle.png')"/></p>

 <p><img src="../Pictures/lightcircle3.png" alt="" width="78" height="79" onmouseover="changeImage('../Pictures/lightcircle2.png')" onmouseout="changeImage('../Pictures/Bigcircle.png')"/></p>

 <p>&nbsp;</p>


  </br>
</div>
</body>
</html>

您可以按照需要进行修改。 干杯..