如何将鼠标悬停在<img src=""/>标记上?

时间:2012-03-20 06:37:05

标签: javascript html

我有一些困惑,我想将鼠标悬停在图片<img>标签上而不使用“background-image”。因此,当用户尝试鼠标悬停时,图像将会发生变化。 我怎样才能做到这一点? 感谢。

4 个答案:

答案 0 :(得分:26)

1。内联JavaScript版本

<img src="a.jpg" onmouseover="this.src='b.jpg'" onmouseout="this.src='a.jpg'" />  

this引用当前的img代码

2。 CSS版本(推荐)

CSS

a.logo {
  display:block;
  width: 100px;
  height: 100px;
  background: url(/path/to/logo.png) no-repeat center center;
  background-size: contain;
}

a.logo:hover {
  background-image: url(/path/to/logo-hover.png);
}

HTML

<a href="#" class="logo"></a>

通过使用css,您可以获得更大的灵活性,即使在禁用JavaScript的环境中也能正常工作。

3。 JavaScript处理程序

对高级情况有用

var img = document.getElementById('myImg');

img.onmouseout = function () {
   this.src = 'b.jpg';
};

img.onmouseover = function () {
   this.src = 'a.jpg';
};

答案 1 :(得分:9)

内联版本:<img src="original.jpg" onmouseover="this.src='hover.jpg';" onmouseout="this.src='original.jpg';" />

答案 2 :(得分:4)

$(function() {
  $("img")
    .mouseover(function() { 
        var src = $(this).attr("src").match(/[^\.]+/) + "over.gif";
        $(this).attr("src", src);
    })
    .mouseout(function() {
        var src = $(this).attr("src").replace("over", "");
        $(this).attr("src", src);
    });
 });

准备就绪:

答案 3 :(得分:0)

img:hover {
  background: url("https://i.stack.imgur.com/7KXRp.jpg");
  /* padding: [image-height] [image-width] 0 0 */
  padding: 200px 200px 0 0;
  width: 0;
  height: 0;
}
<img src="https://i.stack.imgur.com/9OcHP.jpg" />