大家好,感谢您提前提供任何帮助,
我已经有一些功能,第一个每秒增加1%的总金额。第二个是onclick,原始总金额增加了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");
}
}
非常感谢任何帮助!
答案 0 :(得分:1)
首先,小提琴不起作用,因为你已将它设置为加载你的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以及设置/删除类名称或类似内容来处理。
通过数据绑定或使用事件模型作为框架的一部分,可能有不同的方法来做到这一点,但这些是一个更实质性的主题,在这个答案中可以真正涵盖。