Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将鼠标悬停在一个元素上更改另一个元素的背景img_Javascript_Html_Css - Fatal编程技术网

Javascript 将鼠标悬停在一个元素上更改另一个元素的背景img

Javascript 将鼠标悬停在一个元素上更改另一个元素的背景img,javascript,html,css,Javascript,Html,Css,我尝试使用javascript通过悬停在上来更改的背景img 但是javascript只适用于第一种情况 document.getElementById(“a”).addEventListener(“鼠标悬停”,函数(){ document.getElementById(“bg”).style.backgroundImage=“url(https://www.gravatar.com/avatar/9385da4a3618cdc385bd49fe3d951b78?s=32&d=identico

我尝试使用javascript通过悬停在上来更改的背景img

但是javascript只适用于第一种情况

document.getElementById(“a”).addEventListener(“鼠标悬停”,函数(){
document.getElementById(“bg”).style.backgroundImage=“url(https://www.gravatar.com/avatar/9385da4a3618cdc385bd49fe3d951b78?s=32&d=identicon&r=PG)";
},假);
document.getElementById(“a”).addEventListener(“mouseout”,function()){
document.getElementById(“bg”).style.backgroundImage=“”;
},假);
document.getElementById(“b”).addEventListener(“鼠标悬停”,函数(){
document.getElementById(“bg”).style.backgroundImage=“url(https://image.ibb.co/nOtP2U/2.png)";
},假);
document.getElementById(“b”).addEventListener(“mouseout”,function()){
document.getElementById(“bg”).style.backgroundImage=“”;
},假)
#bg{
宽度:100px;
高度:100px;
背景图片:url(https://www.gravatar.com/avatar/d5d2cf334288dd34914b29fd5d941e56?s=32&d=identicon&r=PG)
}






您的代码有几个关键问题。例如:

document.getElementById("a").addEventListener("mouseout", function() {
   document.getElementBy####Id("bg").style.backgroundImage= //Should be getElementById, not getElementBy####Id
   "";
}, false);

此外,打字速度过快也有一些小问题。我改变了它,它成功了。希望这有帮助

您的问题在于语法。快速查看控制台可以显示代码中出现的错误

getElementByI9858d
不是有效的方法,相反,您需要使用
getElementById

见修订代码:

document.getElementById(“a”).addEventListener(“鼠标悬停”,函数(){
document.getElementById(“bg”).style.backgroundImage=
“网址(https://www.gravatar.com/avatar/9385da4a3618cdc385bd49fe3d951b78?s=32&d=identicon&r=PG)";
},假);
document.getElementById(“a”).addEventListener(“mouseout”,function()){
document.getElementById(“bg”).style.backgroundImage=
"";
},假);
document.getElementById(“b”).addEventListener(“鼠标悬停”,函数(){
document.getElementById(“bg”).style.backgroundImage=
“网址(https://image.ibb.co/nOtP2U/2.png)";
},假);
document.getElementById(“b”).addEventListener(“mouseout”,function()){
document.getElementById(“bg”).style.backgroundImage=
"";
},假)
#bg{
宽度:100px;
高度:100px;
背景图片:url(https://www.gravatar.com/avatar/d5d2cf334288dd34914b29fd5d941e56?s=32&d=identicon&r=PG)
}






从您的代码中只需替换

 getElementByI9858d("a").addEventListener("mouseout",


在两个“mouseout”事件中,您都可以得到所需的结果。

getElementByI9858d(“a”)

不存在。@redwolf我认为这是用户输入的错误。此外,这个问题还不清楚。请详细说明。纠正错误,它似乎工作得很好。这就是为什么您应该使用开发人员控制台。错误信息非常清楚。@epascarello我在回答中添加了这一点
getElementById("a").addEventListener("mouseout",