【问题标题】:JavaScript modulus not incrementing variable value correctlyJavaScript模数没有正确增加变量值
【发布时间】:2016-05-14 20:13:14
【问题描述】:

有人可以在这里提供一些建议吗?我编写了这个脚本,它应该显示最大连接数和当前连接数。当您添加一个额外的连接时,maxDevice 变量将获得额外的 3,因此如果已使用 3 个连接中的 3 个,则下一个连接,3 个中的 4 个将改为显示为 6 个中的 4 个。如果用户达到 6 out of 6 然后转到 7 out of 6,然后输出将变为 7 out of 9,因为最大连接将再次添加 3,并继续直到无穷大。

使用 Modulus 来确定设备连接和最大连接是否为 0 是一个好的开始,但是我不太能够让脚本在 6 以上工作,如果现在运行,它将报告 12 中的 7显然不是我所追求的。

我不明白为什么突然从3、6跳到现在12。不应该是3、6、9吗?

感谢您的宝贵时间!

<!doctype html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<meta charset="UTF-8">
<title>Testing</title>
</head>
<body>
<p>You have used <span class="deviceNum"></span> out of <span class="maxcon"></span> available connections.</p>
<span class="devicenumwarning"></span>
</body>
<script>

var maxDevice = 3;
var deviceNum = 7;

if(deviceNum > maxDevice) {

    //check if device number is greater than max checkon from bap and warn user of upcharge
    $('.devicenumwarning').text('You have reached your connection rate.');


    for (i = 0; i < deviceNum; i++) { 

        console.log('this is: ' + maxDevice);
        if(i % maxDevice  === 0){ 
            maxDevice = parseFloat(maxDevice) + parseFloat(maxDevice);
        } 

        $('.deviceNum').text(deviceNum);
        $('.maxcon').text(maxDevice);

    }
maxDevice++;

} else {
    console.log('else');
    $('.maxcon').text(maxDevice);
    $('.deviceNum').text(deviceNum);
}
</script>
</html>

【问题讨论】:

  • 为什么不只是maxDevice += 3?然后删除maxDevice++

标签: javascript variables modulus


【解决方案1】:

您将最大设备翻倍:

maxDevice = parseFloat(maxDevice) + parseFloat(maxDevice);

您应该改为添加 3:

maxDevice = parseFloat(maxDevice) + 3;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-22
    • 2023-04-09
    • 2020-05-02
    • 1970-01-01
    • 2021-08-27
    相关资源
    最近更新 更多