-4

問題があります。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つだけが完全に埋められ、最後の2つは..

推測はありますか??

4

1 に答える 1

1

var変数ごとに 1 回使用するだけで十分です。

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最後の 2 つのフィールドは、値の影響を受けません。taglia正しい数値を持っていることを確認する必要があると思います。

于 2013-11-01T23:05:23.830 に答える