Javascript 功能正常,但仅在线运行

Javascript 功能正常,但仅在线运行,javascript,Javascript,我有一个问题,我有一个巨大的jquery函数。当我创建它时,经过一些设置后,效果很好。当我离线使用它时,它会工作,但当我在网站上上传页面时,会发生一些奇怪的事情: 该功能只工作了一半听起来很有趣,但我不明白它为什么这么做 公式是: function calcolo_peso() { var forza = $('#for').val(); var clegg = 0; var cmed = 0; var cpes = 0; var taglia = 0;

我有一个问题,我有一个巨大的jquery函数。当我创建它时,经过一些设置后,效果很好。当我离线使用它时,它会工作,但当我在网站上上传页面时,会发生一些奇怪的事情:

该功能只工作了一半听起来很有趣,但我不明白它为什么这么做

公式是:

function calcolo_peso() {
    var forza = $('#for').val();
    var clegg = 0;
    var cmed = 0;
    var cpes = 0;
    var taglia = 0;
    if (forza == 0) {
        var clegg = 0;
        var cmed = 0.1;
        var cpes = 0.2
    } else if (forza == 1) {
        var clegg = 1.5;
        var cmed = 3;
        var cpes = 5
    } else if (forza == 2) {
        var clegg = 3;
        var cmed = 6.5;
        var cpes = 10
    } else if (forza == 3) {
        var clegg = 5;
        var cmed = 10;
        var cpes = 15
    } else if (forza == 4) {
        var clegg = 6.5;
        var cmed = 13;
        var cpes = 20
    } else if (forza == 5) {
        var clegg = 8;
        var cmed = 16.5;
        var cpes = 25
    } else if (forza == 6) {
        var clegg = 10;
        var cmed = 20;
        var cpes = 30
    } else if (forza == 7) {
        var clegg = 11.5;
        var cmed = 23;
        var cpes = 35
    } else if (forza == 8) {
        var clegg = 13;
        var cmed = 26.5;
        var cpes = 40
    } else if (forza == 9) {
        var clegg = 15;
        var cmed = 30;
        var cpes = 45
    } else if (forza == 10) {
        var clegg = 16.5;
        var cmed = 33;
        var cpes = 50
    } else if (forza == 11) {
        var clegg = 19;
        var cmed = 38;
        var cpes = 57.5
    } else if (forza == 12) {
        var clegg = 21.5;
        var cmed = 43;
        var cpes = 65
    } else if (forza == 13) {
        var clegg = 25;
        var cmed = 50;
        var cpes = 75
    } else if (forza == 14) {
        var clegg = 29;
        var cmed = 58;
        var cpes = 87.5
    } else if (forza == 15) {
        var clegg = 33;
        var cmed = 66.5;
        var cpes = 100
    } else if (forza == 16) {
        var clegg = 38;
        var cmed = 76.5;
        var cpes = 115
    } else if (forza == 17) {
        var clegg = 43;
        var cmed = 86.5;
        var cpes = 130
    } else if (forza == 18) {
        var clegg = 50;
        var cmed = 100;
        var cpes = 150
    } else if (forza == 19) {
        var clegg = 58;
        var cmed = 116;
        var cpes = 175
    } else if (forza == 20) {
        var clegg = 66.5;
        var cmed = 133;
        var cpes = 200
    } else if (forza == 21) {
        var clegg = 76.5;
        var cmed = 153;
        var cpes = 230
    } else if (forza == 22) {
        var clegg = 86.5;
        var cmed = 173;
        var cpes = 260
    } else if (forza == 23) {
        var clegg = 100;
        var cmed = 200;
        var cpes = 300
    } else if (forza == 24) {
        var clegg = 116.5;
        var cmed = 233;
        var cpes = 350
    } else if (forza == 25) {
        var clegg = 133;
        var cmed = 266.5;
        var cpes = 400
    } else if (forza == 26) {
        var clegg = 153;
        var cmed = 306.5;
        var cpes = 460
    } else if (forza == 27) {
        var clegg = 173;
        var cmed = 346.5;
        var cpes = 520
    } else if (forza == 28) {
        var clegg = 200;
        var cmed = 400;
        var cpes = 600
    } else if (forza == 29) {
        var clegg = 233;
        var cmed = 466.5;
        var cpes = 700
    } else if (forza == 30) {
        var clegg = 266;
        var cmed = 532;
        var cpes = 800
    } else {
        var clegg = 299;
        var cmed = 306;
        var cpes = 900
    }
    if ($('#tagliapersonaggio').val() == "Piccola") {
        var taglia = 0.75
    }
    if ($('#tagliapersonaggio').val() == "Media") {
        var taglia = 1
    }
    if ($('#tagliapersonaggio').val() == "Grande") {
        var taglia = 2
    }
    var terreno = cpes * 2;
    var trascinare = cpes * 5;
    var caricoleggero = clegg * taglia;
    var caricomedio = cmed * taglia;
    var caricopesante = cpes * taglia;
    $('#car_legg').val(caricoleggero);
    $('#car_med').val(caricomedio);
    $('#car_pes1, #car_pes2').val(caricopesante);
    $('#dalterreno').val(terreno);
    $('#trascinare').val(trascinare);
}
输出必须是6个输入,并填入最终值,但仅在线2个结果完全填满,最后两个


任何猜测???

对每个变量使用
var
一次就足够了:

function calcolo_peso(){
    var forza = $('#for').val();
    var clegg = 0;
    var cmed = 0;
    var cpes = 0;
    var taglia = 0;

    if (forza == 0) {
        clegg = 0;
        cmed = 0.1;
        cpes = 0.2
    } else if (forza == 1) {
        clegg = 1.5;
        cmed = 3;
        cpes = 5
    } ...

    if ($('#tagliapersonaggio').val() == "Piccola") {
        taglia = 0.75
    } ...

    terreno = cpes * 2;
    trascinare = cpes * 5;
    caricoleggero = clegg * taglia;
    ....

最后两个字段不受
taglia
值的影响。我想你必须确保
taglia
有一个正确的数值。

什么是有效的?你试过什么?请把语法修好,我看不懂。对不起,语法是我最好的,你得自己弄清楚;)问题是函数返回了6个输入的值。当我离线尝试公式时,6个输入正确填写,但当我在线尝试时,只有2个值与0不同,其他值没有。函数正在工作(因为其中2个值是正确的),但。。不完全!非常糟糕的代码结构&您没有足够的工作来解决您的问题。投票决定关闭。好的,对不起,下次我将尝试成为最好的,而不是使用一大块if-else,如果在数组中定义值要短得多,而且可以理解,因为forza介于0和30之间。var list=[{clegg:0,cmed:0.1,cpes:0.2},{clegg:1.5,cmed:3,spes:0.2}];result=list[forza]@regulus,这将使代码更加清晰感谢您的帮助!!但我仍然不明白为什么只有一部分功能有效,而另一部分功能无效。我希望你能理解我,但从最后一部分:
$('car#legg').val(caricoleggero)$(“#car_med”)val(caricomedio)$(“#car#pes1,#car#pes2”).val(加共体)$(#dalterreno').val(terreno)$(#trascinare').val(trascinare)仅填充最后两个中的值。。其他的都是空的。