在javascript函数中传递参数?

时间:2014-12-21 22:25:09

标签: javascript html5

我是javascript developpement的新手 我试图制作一个e函数,在特定鼠标事件后隐藏或显示跨度中的一些文本,我想在我的函数中传递此span的id 这是我的脚本,它只使用特定的id,即" sp1"在这种情况下,但我想在我的函数参数

中传递id
<script>function myOverFunction() {
document.getElementById("sp1").style.visibility = 'visible';}
function myOutFunction() {
document.getElementById("sp1").style.visibility = 'hidden';}

这是我的html代码的一部分

<div id="lg1"onmouseover="myOverFunction()" onmouseout="myOutFunction()"></div>
<center>
<div>
<span id="sp1" style="visibility: hidden;" >Current Value :70 <br>Target :80 <br>
<div class="label label-blue">In progress 90%</div>
</span>
</div>
</center>

1 个答案:

答案 0 :(得分:0)

将参数传递给类似的函数可以通过使用单引号或双引号来实现,具体取决于您用于将代码括在html中的内容。

<div id="mydiv" onclick="myFunction('mydiv');"></div>

这样做并不是最好的方法。

当onclick事件触发“myFunction”时,默认情况下会传递e(event)参数。这包含有关发生的事件的大量信息,包括对触发它的对象的引用。因此,您可以使用它找到元素的id

function myFunction(e) {
    e = e || window.event;
    alert(e.target.getAttribute("id"));
}

你的HTML就是......

<div id="myDiv" onclick="myFunction()"></div>

编辑:

再看一下你的问题,你可以把它和你的两个功能结合成一个切换功能

function toggleVisibility(e) {
    e = e || window.event;
    if (e.target.style.visibility == "visible") {
        e.target.style.visibility = "hidden";
    } else {
        e.target.style.visibility = "visible";
    }
}

你可以为任何元素调用onmouseoveronmouseout的相同函数,只要提供visibility属性不为空(我认为它默认为可见吗?有点猜测)< / p>