簡體   English   中英

調用事件時函數不起作用

[英]Function not working when event is called

嘗試在單擊時更改容器的可見性。 可見性設置為隱藏在CSS中,表單位於div內。 任何幫助贊賞。 我也嘗試使用display屬性並將其設置為nonecompact而不是可見性但仍然沒有變化。

JavaScript的:

<script type="text/javascript">
function displayCont()
    {
    var idName= this.value;
    var getElmt= document.getElementById("idName").style.visibility;
    if (getElmt == hidden) 
        {
        getElmt = visible;
            }
    else if (getElmt == visible)
        {
        getElmt = hidden;
        }
    }
</script>

HTML摘錄

<form id="btns">
    <input type="button" value="Timer" id="timerBtn" onclick="displayCont()"/>
    <input type="button" value="Countdown" id="ctDownBtn" onclick="displayCont()"/>
</form> 

你有一些錯誤。 首先,idName未定義。 此外,當您使用getELementById('idName')時,請刪除引號以使用您剛剛定義的變量。 此外,您需要圍繞可見和隱藏的引號。 我正在研究代碼。

這應該更接近你正在尋找的東西。

<!DOCTYPE html>
<html>
    <head>
        <style>
          #myDiv{
            display: none;
          }
        </style>
    </head>
    <body>
    <form id="btns">
        <input type="button" value="Timer" id="timerBtn" onclick="displayCont('myDiv')"/>
        <div id="myDiv"> Show/Hide This </div>
    </form> 
    <script type="text/javascript">
        function displayCont(inp){
            var ele = document.getElementById(inp);
            var shown = ele.style.display;
            if (shown == 'none') {
                ele.style.display = 'block'
            }
            else {
                ele.style.display = 'none'
            }
        }
    </script>
    </body>
</html>

問題是getElmt只是一個字符串,而不是引用。

這是你想要的:

function toggle(id){
    if (document.getElementById(id).style.visibility == 'hidden') {
        document.getElementById(id).style.visibility = 'visible';
    }
    else {
        document.getElementById(id).style.visibility = 'hidden';
    }
}

然后你可以切換你的元素

toggle('idName');

暫無
暫無

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

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