我有一個變數,我想從 false 開始,在 .onclick 函式之后,我希望它切換為 true。
這是我的 Javascript,任何幫助表示贊賞。
“開始”變數是我遇到問題的變數,顯示的其他所有內容都可以正常作業,但如果有任何與它相關的有用提示,請隨時提及。
const left_button = document.getElementById("left")
const right_button = document.getElementById("right")
const start_game = document.getElementById("start-game");
const start_game_button = document.getElementById("");
const player_1_name = document.getElementById("player1");
const player_2_name = document.getElementById("player2");
const score1 = document.getElementById("score1");
const score2 = document.getElementById("score2");
var start = false;
score1.style.display = "none";
score2.style.display = "none";
start_game.onclick = function(){
player_1_name.innerHTML = prompt("Name of Player One: ");
player_2_name.innerHTML = prompt("Name of Player Two: ");
start_game.style.display = "none";
score1.style.display = "";
score2.style.display = "";
var start = true;
}
if (start == true) {
left_button.onclick = function(){
alert("test");
}
}
uj5u.com熱心網友回復:
您定義start
等于false
:
var start = false;
然后你創建一個函式,直到稍后時間才會被呼叫。然后立即檢查 的值start
:
if (start == true) {
left_button.onclick = function(){
alert("test");
}
}
start
剛剛被定義為false
,所以這個if
塊不會執行。
基本上,你是倒著想的。您正在嘗試這樣做:
如果值為 true,則定義一個點擊處理程式
相反,請執行以下操作:
定義一個點擊處理程式,并在點擊處理程式中檢查該值是否為真
例如:
left_button.onclick = function(){
if (start == true) {
alert("test");
}
}
除此之外,發布的另一個答案還指出您在這里隱藏了start
變數:
start_game.onclick = function(){
//...
var start = true;
}
基本上,這宣告了一個全新的變數,該變數僅存在于該函式的范圍內,然后從不使用。不要重新宣告新變數,只需為已有的變數賦值即可:
start_game.onclick = function(){
//...
start = true;
}
uj5u.com熱心網友回復:
不要做var start = true;
這實際上是重新分配另一個名為“start”的變數。
做就是了start = true;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/506959.html
標籤:javascript if 语句 变量