簡體   English   中英

Javascript函數(參數),將參數賦值給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。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM