簡體   English   中英

事件javascript

[英]events javascript

我需要在單擊鼠標時顯示一條消息。 但我還需要在下次單擊鼠標時顯示另一條消息。 問題是在我的代碼中,這兩個消息都在第一次單擊鼠標時出現。

<!DOCTYPE>
    <html>
        <head>
            <script>
                function myfunction()
                {
                var obj=document.getElementById("msg1");
                obj.innerHTML="message1";
                if(obj.innerHTML=="message1")
                {
                    var obj1=document.getElementById("msg2");
                    obj1.innerHTML="message2";
                }

                }
            </script>

        </head>
        <body>
            <div id="msg">
                <form name="myform">
                    <input type="button" value="click" onclick="myfunction()">
                        <p id="msg1"></p>
                        <p id="msg2"></p>
                </form>
            </div>
        </body>
    </html>
<script>
var flag=0;            
function myfunction()
            {
            if (flag==0)
            {
            var obj=document.getElementById("msg1");
            obj.innerHTML="message1";
            flag=1;}
            else
            {
                var obj1=document.getElementById("msg2");
                obj1.innerHTML="message2";
            }

            }
</script>
if (obj.innerHTML == "message1") {
  var obj1 = document.getElementById("msg2");
  obj1.innerHTML = "message2";
}else{
  obj.innerHTML = "message1";
}

您的if始終執行,因為您嘗試將obj.innerHTML == "message1"設置為立即后檢查它。

您是否看到將obj的innerhtml設置為“ message1”,然后在檢查innerHTML是否為“ message1”之后立即將其設置為true。

您需要更改if。 所以說:

if(obj.innterHTML=="message1"){
  obj.innerHTML="message2";
} else {
  obj.innerHTML="message1";
}

與其他人相似,但是到底:

    var obj1 = document.getElementById('msg1');
    var obj2 = document.getElementById('msg2');

    if (obj1.innerHTML == '') {
      obj1.innerHTML = 'message1';
    } else {
      obj2.innerHTML = 'message2';
    }
function myfunction() {
  var i, ele;
  for(i = 1; i <= 2; i++) {
     ele = document.getElementById("msg"+i);
     if (ele && ele.innerHTML.length == 0) {
         ele.innerHTML = 'message' + i;
         return;
     }
  }
}

只需添加一個點擊計數器即可檢查它是否是首次點擊或更多,然后再點擊。

<!DOCTYPE>
<html>

<head>
    <script>
        var $clickCount = 0;
        function myfunction() {
            $clickCount++;
            var obj = document.getElementById("msg1");
            obj.innerHTML = "message1";
            if (obj.innerHTML == "message1") {
                var obj1 = document.getElementById("msg2");
                if ($clickCount == 2) {
                    obj1.innerHTML = "message2";
                }

            }

        }
    </script>
</head>

<body>
    <div id="msg">
        <form name="myform">
            <input type="button" value="click" onclick="myfunction()">
            <p id="msg1"></p>
            <p id="msg2"></p>
        </form>
    </div>
</body>

</html>

暫無
暫無

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

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