-1

我已经制作了这个小工具,但我不确定如何实现我所需要的。

  • 在添加到其他点时,我希望它从“剩余点数”中减去。
    (不会低于零变成负数,只有 30 分)。

  • 我还想防止低于"Weapon Power""Magic Power"中的初始数字。(我希望最多只能将25点花在一个“力量”中)

我认为它可以解释自己,所以也许我只是让你更加困惑。

有任何想法吗?

4

1 回答 1

0

您需要为您的数字输入元素提供不同的 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() 返回,如果数量超过阈值,则不更改值。使用您现在拥有的东西应该很容易,因为您不必更改角色对象即可。

于 2013-10-10T19:11:15.610 回答