鼠标悬停时更改图像的正确方法是什么(使用/不使用jQuery)?
<a href="#" id="name">
<img title="Hello" src="/ico/view.png" onmouseover="$(this).attr('src','/ico/view.hover.png')" />
</a>
好的,这是有效的,但如何在mouseout
之后更改回原始图片?
如果可能的话,我想在没有document.ready函数的情况下内联这个东西。
答案 0 :(得分:47)
这是一个原生的javascript内联代码,用于更改图像onmouseover&amp;的onmouseout:
<a href="#" id="name">
<img title="Hello" src="/ico/view.png" onmouseover="this.src='/ico/view.hover.png'" onmouseout="this.src='/ico/view.png'" />
</a>
答案 1 :(得分:15)
尝试这样的事情:
<强> HTML 强>:
<img src='/folder/image1.jpg' id='imageid'/>
<强> jQuery的:强>
$('#imageid').hover(function() {
$(this).attr('src', '/folder/image2.jpg');
}, function() {
$(this).attr('src', '/folder/image1.jpg');
});
编辑: (OP HTML发布后)
<强> HTML:强>
<a href="#" id="name">
<img title="Hello" src="/ico/view.png"/>
</a>
<强> jQuery的:强>
$('#name img').hover(function() {
$(this).attr('src', '/ico/view1.png');
}, function() {
$(this).attr('src', '/ico/view.png');
});
答案 2 :(得分:4)
你要在/
之前放一两个点('src','./ico/view.hover.png')"
答案 3 :(得分:3)
以下是一个例子:
HTML code:
<img id="myImg" src="http://static.jquery.com/files/rocker/images/logo_jquery_215x53.gif"/>
JavaScript代码:
$(document).ready(function() {
$( "#myImg" ).mouseover(function(){
$(this).attr("src", "http://www.jqueryui.com/images/logo.gif");
});
$( "#myImg" ).mouseout(function(){
$(this).attr("src", "http://static.jquery.com/files/rocker/images/logo_jquery_215x53.gif");
});
});
编辑:对不起,您的代码有点奇怪。现在我明白你在做什么了。 ;) 当然,悬停方法更好。
答案 4 :(得分:2)
jQuery有.mouseover()
和.html()
。您可以将mouseover事件绑定到函数:
当你获得mouseover事件表明光标不再悬挂在div上时,可以做同样的事情。
答案 5 :(得分:2)
你可以只使用CSS。
您需要在<a>
中放置另一个标记,然后您可以更改background-image
上的CSS a:hover
属性。
即
HTML:
<a href="#" id="name">
<span> </span>
</a>
CSS:
a#name span{
background-image:url(image/path);
}
a#name:hover span{
background-image:url(another/image/path);
}
答案 6 :(得分:2)
<a href="" onMouseOver="document.MyImage.src='http://icons.iconarchive.com/icons/uiconstock/round-edge-social/72/ask-icon.png';" onMouseOut="document.MyImage.src='http://icons.iconarchive.com/icons/uiconstock/round-edge-social/72/arto-icon.png';">
<img src="http://icons.iconarchive.com/icons/uiconstock/round-edge-social/72/arto-icon.png" name="MyImage">
答案 7 :(得分:1)
我知道有人以同样的方式回答了这个问题,但是我做了自己的研究,之前我写了这个以便看到答案。所以:我正在寻找内联JavaScript的简单内容,只需a
,而不是将其“包装”到document.MyImage
标记中(因此我使用{{而不是this.src
代替<img
onMouseOver="this.src='ico/view.hover.png';"
onMouseOut="this.src='ico/view.png';"
src="ico/view.png" alt="hover effect" />
1}})
/workspace
/src
/package1
/vendor
/src
/somepackage
/anotherpackage
/package1
适用于所有当前更新的浏览器; IE 11(我也在IE5及以上的IE开发者工具中测试过),Chrome,Firefox,Opera,Edge。