0

グローバル変数へのアクセスに問題があります。アクセスしたい

selection1 = $("#slider").slider( "value" );
selection2 = $("#slider2").slider( "value" );

選択を使用してcalcTmpl(selection1、selection2)を呼び出すだけで、jQuery関数の内部になりますが、関数の外部で変数を次のように宣言しても、これは機能しないようです。var selection1 = $("#slider").slider( "value" );

その後、スライダーが消えます。

これは、スライダーが実行する計算のコードです。そしてこれはうまくいきます、ただ私がselection1と2を何度も何度も設定し続けたくないということです。

これが機能しない理由はありますか?

var selection1;
var selection2;
$("#slider").slider({
    range: "min",
    value: 5000000,
    min: 100000,
    max: 10000000,
    slide: function() {
        selection1 = $("#slider").slider("value");
        selection2 = $("#slider2").slider("value");
        calcTmpl(selection1, selection2);
    },
    change: function() {
        selection1 = $("#slider").slider("value");
        selection2 = $("#slider2").slider("value");
        calcTmpl(selection1, selection2);
    }
});

$("#slider2").slider({
    range: "min",
    value: 50000,
    min: 100,
    max: 100000,
    slide: function() {
        selection1 = $("#slider").slider("value");
        selection2 = $("#slider2").slider("value");
        calcTmpl(selection1, selection2);
    },
    change: function() {
        selection1 = $("#slider").slider("value");
        selection2 = $("#slider2").slider("value");
        calcTmpl(selection1, selection2);
    }
});​
calcTmpl(5000000,50000);
4

1 に答える 1

2

代わりにこれを試してください:

var selection1 = 5000000,
    selection2 = 50000;

$("#slider").slider({
    range: "min",
    value: selection1,
    min: 100000,
    max: 10000000,
    slide: function(event, ui) {
        selection1 = ui.value;
        calcTmpl(selection1, selection2);
    }
});

$("#slider2").slider({
    range: "min",
    value: selection2,
    min: 100,
    max: 100000,
    slide: function(event, ui) {
        selection2 = ui.value;
        calcTmpl(selection1, selection2);
    }
});
于 2012-11-14T16:31:10.163 に答える