Javascript function(parameter), 将参数赋值给var

Javascript function(parameter), assign parameter to var

我失败了,我不明白为什么,我希望有人能帮助我。

<div id="anvil" onmouseover="show(anvil_info)">

我想做的是当你将鼠标悬停在铁砧上时它会启动一个功能

function show(x){
x.style.backgroundImage = "image_"+x
}

我的想法是在调用函数时使用分配的参数来获取图像,但如果我现在尝试使用它,它不起作用。我如何使用分配给函数的变量?

这个还是不行:

function show(x, y){
    x.style.zIndex = "1";
    x.style.opacity = "1";
    y.style.backgroundImage = "url('"+ y + "_hover')"
}
<div id="anvil" onmouseover="show(anvil_info, 'anvil')"></div>

新版本:

 function show(elem, pIdToChange){
   document.getElementById(pIdToChange).style.backgroundImage = "url('"+ pIdToChange + "_hover')";
   // with color switch
   document.getElementById(pIdToChange).style.color = "red";
   elem.style.color = "";
}
<div id="anvil_info" onmouseover="show(this, 'anvil')" >Hello</div>
 <div id="anvil" onmouseover="show(this, 'anvil_info')">Goodbye</div>


最好用onmouseover="show(this)"

您将在函数中获取元素,然后 x.style.backgroundImage 将正常工作。

function show(elem, pUrl){
  elem.style.backgroundImage = "url('"+ pUrl + "_hover')"
  alert(pUrl);
}
<div id="anvil" onmouseover="show(this, 'anvil')">hello</div>

function show(x, y, z){
    y.style.zIndex = "1";
    y.style.opacity = "1";
    x.style.backgroundImage = "url('"+ z + "_hover.jpg')"
}

 <div id="anvil_info" onmouseover="show(anvil, this, 'anvil')" onmouseout="hide(anvil, this, 'anvil')"></div>
 <div id="anvil" onmouseover="show(this, anvil_info, 'anvil')" onmouseout="hide(this, anvil_info, 'anvil')"></div>

效果很好,多亏了 blag。