在满足条件之前禁用按钮 (javascript)
Disabling button until condition is met (javascript)
在变量等于数字之前,我不确定如何禁用按钮。在这种情况下,我试图禁用按钮,除非 Cash 等于 1。
<html>
<body>
<button>Tester</button>
</body>
<script>
var Cash = 0;
if (Cash = 1) {
btn.disabled = false;
} else {
btn.disabled = true;
}
</script>
</html>
var Cash = 0;
while(true) {
if (Cash = 1) {
btn.disabled = false;
} else {
btn.disabled = true;
}
}
这将使其不断检查 Cash 是否为 1。在您当前的代码中,它只会在页面首次加载时检查。
忽略代理,不,你在这里尝试做的事情是不可能的。
你应该做的是创建一个改变现金价值的函数。
var Cash = 0;
function updateCash(newCash){
Cash = newCash;
if (Cash===1) {
btn.disabled = false;
} else {
btn.disabled = true;
}
}
updateCash(10);
你应该知道
- 等号
=
用于赋值。您的 if 语句实际上最终将 cash 设置为 1。请改用(严格)相等运算符 ===
- 您可以将启用按钮缩短为
btn.disabled = cash!==1
- 使用
let
而不是 var
并且 cash
应该是小写的。
请不要在任何情况下使用 while(true)。
由于 javascript 是单线程的,这意味着任何其他 运行,包括改变现金都不会发生,因为它卡在循环中。您可能会发现计算机上的风扇会开始非常响亮地旋转。
您需要先使用 document.querySelector
获取按钮元素
let btn = document.querySelector('button')
You can read about querySelector here.
现在,当您选择元素时,您需要确保在 if 条件中使用 == 而不是 =
== 用于比较值
= 用于赋值
现在您的代码应该如下所示并且应该禁用该按钮。
let cash = 0;
if (cash == 1) {
btn.disabled = false;
} else {
btn.disabled = true;
}
在变量等于数字之前,我不确定如何禁用按钮。在这种情况下,我试图禁用按钮,除非 Cash 等于 1。
<html>
<body>
<button>Tester</button>
</body>
<script>
var Cash = 0;
if (Cash = 1) {
btn.disabled = false;
} else {
btn.disabled = true;
}
</script>
</html>
var Cash = 0;
while(true) {
if (Cash = 1) {
btn.disabled = false;
} else {
btn.disabled = true;
}
}
这将使其不断检查 Cash 是否为 1。在您当前的代码中,它只会在页面首次加载时检查。
忽略代理,不,你在这里尝试做的事情是不可能的。
你应该做的是创建一个改变现金价值的函数。
var Cash = 0;
function updateCash(newCash){
Cash = newCash;
if (Cash===1) {
btn.disabled = false;
} else {
btn.disabled = true;
}
}
updateCash(10);
你应该知道
- 等号
=
用于赋值。您的 if 语句实际上最终将 cash 设置为 1。请改用(严格)相等运算符===
- 您可以将启用按钮缩短为
btn.disabled = cash!==1
- 使用
let
而不是var
并且cash
应该是小写的。
请不要在任何情况下使用 while(true)。 由于 javascript 是单线程的,这意味着任何其他 运行,包括改变现金都不会发生,因为它卡在循环中。您可能会发现计算机上的风扇会开始非常响亮地旋转。
您需要先使用 document.querySelector
获取按钮元素let btn = document.querySelector('button')
You can read about querySelector here.
现在,当您选择元素时,您需要确保在 if 条件中使用 == 而不是 =
== 用于比较值 = 用于赋值
现在您的代码应该如下所示并且应该禁用该按钮。
let cash = 0;
if (cash == 1) {
btn.disabled = false;
} else {
btn.disabled = true;
}