2012-09-10 40 views
1

我需要在鼠標單擊時顯示消息。但我還需要在下一次鼠標單擊時顯示另一條消息。問題是,在我的代碼中,兩條消息都出現在第一次鼠標點擊。事件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> 
+2

請拼寫檢查並花時間格式化您的文字以及您的代碼! – Leonard

回答

0
if (obj.innerHTML == "message1") { 
    var obj1 = document.getElementById("msg2"); 
    obj1.innerHTML = "message2"; 
}else{ 
    obj.innerHTML = "message1"; 
} 

你是否會一直執行,因爲你試圖檢查obj.innerHTML == "message1"將其設置到後即可。

+0

是的,我需要message1來顯示每次我click.but message2應該只顯示在下一個鼠標click.thankyou –

0

您是否看到將obj的innerhtml設置爲「message1」,然後在檢查innerHTML是否爲「message1」後立即檢查是否將始終爲true。

您需要更改if。因此,它說:

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

是的,我需要message1每次我click.but顯示,但message2應該只顯示在下一次鼠標點擊 –

1
<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> 
+0

在falg –

+0

附近顯示javascript錯誤,謝謝這對我有用 –

+0

如果我需要以相同的方式顯示更多消息,我應該怎麼做 –

0

他人相似,但到底是什麼:

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

    if (obj1.innerHTML == '') { 
     obj1.innerHTML = 'message1'; 
    } else { 
     obj2.innerHTML = 'message2'; 
    } 
0
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; 
    } 
    } 
} 
0

只需添加一個點擊計數器,以檢查它是第一個點擊以上則第一。

<!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>