我已经制作了这个小工具,但我不确定如何实现我所需要的。
在添加到其他点时,我希望它从“剩余点数”中减去。
(不会低于零变成负数,只有 30 分)。我还想防止低于"Weapon Power"和"Magic Power"中的初始数字。(我希望最多只能将25点花在一个“力量”中)
我认为它可以解释自己,所以也许我只是让你更加困惑。
有任何想法吗?
我已经制作了这个小工具,但我不确定如何实现我所需要的。
在添加到其他点时,我希望它从“剩余点数”中减去。
(不会低于零变成负数,只有 30 分)。
我还想防止低于"Weapon Power"和"Magic Power"中的初始数字。(我希望最多只能将25点花在一个“力量”中)
我认为它可以解释自己,所以也许我只是让你更加困惑。
有任何想法吗?
您需要为您的数字输入元素提供不同的 id,因为当您这样做时document.getElementById
,它只会返回具有给定 id 的第一个元素。
然后,您需要为每个字符的“points left”字段提供另一个不同的 ID,并更新该 ID。为此,您需要传递以添加和减去正确的值 ( add(warrior, 'weapon'), add(wizard, 'magic')
)。
您需要能够从您的战士或巫师对象中获取您的 ID,因此您可以尝试这样做:
var wizard = {
weapon:"idOfWeaponField", magic:"idOfMagicField", points:"idOfPointsField"
};
其中字符串值是元素的 ID。然后,在您的添加功能中,您可以像这样访问您的 id
function add(character, statName){
var myID = character[statName];
}
并更新正确的输入值。
编辑:代码在这里。
我还想防止低于“武器力量”和“魔力”中的初始数字。>(我希望最多只能将25点花费到一个“力量”中)
基本上,当我说if(pointsVal.value == 0) return;
? 您应该能够使用它来实现您喜欢的任何约束。我修改了我的示例,以举一个限制为初始值的示例。
如果您只想在其中一个幂上花费给定数量的点,则必须从当前数量中减去限制并从 add() 返回,如果数量超过阈值,则不更改值。使用您现在拥有的东西应该很容易,因为您不必更改角色对象即可。