[英]Change image onmouseover
什么是鼠标悬停时更改图像的正确方法(使用/不使用jQuery)?
<a href="#" id="name">
<img title="Hello" src="/ico/view.png" onmouseover="$(this).attr('src','/ico/view.hover.png')" />
</a>
好的,这是有效的,但是如何在mouseout
之后改回原始图像?
如果有可能,我想在没有document.ready函数的情况下内联这个东西。
这是一个原生的javascript内联代码来更改图像onmouseover&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>
尝试这样的事情:
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');
});
你要在/之前放一两个点
('src','./ico/view.hover.png')"
这是一个例子:
HTML代码:
<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");
});
});
编辑:对不起,你的代码有点奇怪。 现在我明白你在做什么了。 ;)当然,悬停方法更好。
jQuery有.mouseover()
和.html()
。 您可以将mouseover事件绑定到一个函数:
当你得到mouseover事件表明光标不再悬挂在div上时,可以做同样的事情。
你可以使用CSS做到这一点。
您需要在<a>
放置另一个标记,然后您可以在a:hover
上更改CSS background-image
属性。
即
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);
}
<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">
我知道有人以同样的方式回答了这个问题,但是我做了自己的研究,之前我写过这篇文章来看看答案。 所以:我正在寻找一些简单的内联JavaScript,只需要在img
,而不是将它“包装”到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" />
它适用于所有当前更新的浏览器; IE 11(我还在IE5及更高版本的IE开发者工具中测试过它),Chrome,Firefox,Opera,Edge。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.