如何在 OnClick 函数小于另一个变量时禁用它
how to disable onclick function once it is less than another variable?
大家好,提前感谢您的任何帮助,
我已经有一些功能,第一个每秒添加一次总金额的 1%。 第二个是点击 原始总金额增加了 100 美元。第三种是从总金额中减去 200 美元加上 200 的 10%,因此每次点击时减去金额都会上升。这些函数在我的本地机器上工作,但我无法让它们在 JSFIDDLE 中工作。
我想在总金额小于减号金额时禁用减号按钮,并在总金额中有足够的钱可以使用时再次启用它。
这是我到目前为止的 JS
setInterval(function () {
var moneyTotal = document.getElementById('money-total').innerHTML;
var perSec = (1 / 100) * moneyTotal;
var moneyNewTotal = (+moneyTotal) + (+perSec);
document.getElementById('money-total').innerHTML = (moneyNewTotal.toFixed(2));
document.getElementById('per-second').innerHTML = (perSec.toFixed(2));
}, 1000);
function add() {
var addAmount = 100;
var moneyTotal = document.getElementById('money-total').innerHTML;
var addTotal = (+addAmount) + (+moneyTotal);
document.getElementById('money-total').innerHTML = (addTotal.toFixed(2));
}
function minus() {
var cost = document.getElementById('cost').innerHTML;
var money = document.getElementById('money-total').innerHTML;
if (money > cost) {
var moneyNewTotal = (+money) - (+cost);
var newCost = (10 / 100) * cost;
var costTotal = (+newCost) + (+cost);
document.getElementById('cost').innerHTML = Math.ceil(costTotal);
document.getElementById('money-total').innerHTML = (moneyNewTotal.toFixed(2));
} else {
alert("Not enough money");
}
}
任何帮助将不胜感激!
首先,小提琴不起作用,因为您将其设置为加载 javascript onLoad
,这会将您的函数包装在不同的作用域中,因此它们在窗口中不可用。更改它以加载javascript No wrap - in <head>
(或<body>
)将有助于它工作。
然后,您需要检查值并启用禁用减号按钮。
function checkTotal() {
var moneyTotal = +document.getElementById('money-total').innerHTML;
var cost = +document.getElementById('cost').innerHTML;
if (cost > moneyTotal) {
document.getElementById('minus').setAttribute('disabled', 'disabled');
} else {
document.getElementById('minus').removeAttribute('disabled');
}
}
然后你需要在add
、minus
的末尾调用它,甚至是你在setInterval
中定义的函数,以便在添加资金时进行检查。此代码仅将 disabled
属性添加到按钮,因此任何样式都需要通过代码或通过 CSS 以及设置/删除类名或类似内容来处理。
也许有不同的方法可以通过数据绑定或使用事件模型作为框架的一部分来做到这一点,但这些是一个更重要的主题,无法在本答案中真正涵盖。
相关文章:
- 导航到特定事件的另一个变量页面
- 在另一个函数中使用变量this
- 将节点数据分配给另一个变量jstree
- 如何将变量传递到另一个js文件
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- 将会话变量从一个页面传递到另一个页面
- 替换另一个变量对象中的变量值
- 如何将JavaScript变量的数据传递到另一个php页面
- 如何将变量值附加到另一个变量
- 如何将一个变量从一个控制器传递到合金中的另一个控制器
- 当我更新另一个作用域变量时,作用域变量会自动更新
- 是否可以在另一个变量中使用未声明的变量
- 使用JavaScript打开另一个html页面时传递变量
- JS/ANGULAR使用一个变量's值作为另一个对象的键
- 将php页面URL中的变量传递给JavaScript和另一个php
- 用javascript将信息/变量从一个网页传递到另一个网页
- 如何使用javascript/jquery将变量从一个PHP文件传递到另一个PHP文件
- 变量比另一个变量少一个
- Javascript:OnChange事件,将数组变量传递给另一个函数
- javascript将函数中一个变量的参数值传递给父函数中的另一个