使用onmouseover和onmouseout更改图像的JavaScript

使用onmouseover和onmouseout更改图像的JavaScript,javascript,onmouseover,onmouseout,Javascript,Onmouseover,Onmouseout,我已经看过了关于堆栈溢出的类似问题和答案,但我无法开始工作。加载页面时,所有内容都可以找到,但当我将鼠标悬停在页面上时,它不会显示新的gif 在浏览器中检查代码时,它似乎在两个图像之间切换 <!DOCTYPE html> <html> <head> <script> function normalImg() { document.getElementById("smile").src = "/smiley.gif" } function s

我已经看过了关于堆栈溢出的类似问题和答案,但我无法开始工作。加载页面时,所有内容都可以找到,但当我将鼠标悬停在页面上时,它不会显示新的gif

在浏览器中检查代码时,它似乎在两个图像之间切换

<!DOCTYPE html>
<html>
<head>
<script>


function normalImg() {
  document.getElementById("smile").src = "/smiley.gif"
}
function singing() {
  document.getElementById("smile").src = "/sing.gif"
}

</script>
</head>
<body>


<img onmouseout="normalImg()" border="0" src="smiley.gif" alt="Smiley" width="32" height="32" id="smile" 
onmouseover="singing()" border="0" src="sing.gif" alt="singing" width="32" height="32">


<p>onmouse out and onmouseover changing images</p>

</body>
</html>

函数normalImg(){
document.getElementById(“smile”).src=“/smiley.gif”
}
函数唱法(){
document.getElementById(“smile”).src=“/sing.gif”
}
onmouse out和onmouse over更改图像


在gif路径的开头不需要
/

替换
document.getElementById(“smile”).src=“/smiley.gif”
具有
document.getElementById(“smile”).src=“smiley.gif”


与sing.gif相同,与其使用javascript在mouseout和mouseover上更改图像源,不如仅在鼠标悬停的基础上更改图像源

看看这个:

  • 悬停处理mouseenter事件和mouseleave事件

  • Mouseover最适合您只关心鼠标越过边界进入某个元素,而不关心鼠标离开时会发生什么的情况。如果要触发元素上的某个事件


您应该在标记中只有一个src属性,您可以尝试以下代码:


函数唱法(){
document.getElementById(“smile”).src=”https://upload.wikimedia.org/wikipedia/commons/0/06/180717_%EC%97%B4%EB%A6%B0%EC%9D%8C%EC%95%85%ED%9A%8C_%ED%8A%B8%EC%99%80%EC%9D%B4%EC%8A%A4_%2818%29.jpg"
document.getElementById(“微笑”).alt=“微笑”
}
函数(){
document.getElementById(“smile”).src=”https://upload.wikimedia.org/wikipedia/commons/c/cd/Chou_Tzuyu_at_the_Golden_Disc_Awards_2019.png"
document.getElementById(“微笑”).alt=“哭泣”
}
onmouse out和onmouse over更改图像