在java脚本函数中传递参数

Passing parameters in java script function ?

本文关键字:参数 函数 java 脚本      更新时间:2023-09-26

我是javascript开发的新手我正在尝试制作 e 函数,在特定鼠标事件后隐藏或显示跨度中的一些文本,我想在我的函数中传递这个跨度的 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>

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

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

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

当 onclick 事件触发"myFunction"时,默认情况下会传递一个 e(事件(参数。这包含有关所发生事件的大量信息,包括对触发它的对象的引用。因此,您可以使用它找到元素的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 属性不为 null(我认为它默认为可见?