簡體   English   中英

這是怎么了?

[英]What is going wrong here?

我做了這個小腳本來學習JavaScript。 但我一直得到意想不到的令牌切換..但要做的是設置corect方式的切換??

HTML:

<p id="new">test<p>
    <input id="button" type="submit" name="button" value="enter" />

JS:

var switch = true;

if (switch == false){
document.getElementById('button').onclick = function() {
document.getElementById("new").innerHTML = "Mijn Naam!";
    var switch = true;
};
} else {
document.getElementById('button').onclick = function() {
document.getElementById("new").innerHTML = "shiva";
    var switch = false;
};
}

怎么樣:

<p id="new">test<p>
<input id="button" type="submit" name="button" value="enter" />

var clicked = false;

document.getElementById('button').onclick = function() {
  document.getElementById("new").innerHTML = clicked ? "shiva" : "Mijn Naam!";
  clicked = !clicked;
};

switch是保留字。 您應該使用其他變量名。

順便說一下,您的代碼可以按以下方式壓縮

var switchOn = true;

document.getElementById('button').onclick = function() {
    document.getElementById("new").innerHTML = 
        switchOn ? "shiva" :"Mijn Naam!";
    switchOn = !switchOn;
}

暫無
暫無

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

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