1

私はjQueryの使用に非常に慣れていないため、この質問がばかげている場合はご容赦ください。

現在選択されている値を 100 から表示する jQuery スライダーがあります。後で計算に使用できるように、残りを取得する必要があります。

私が持っているコードは両方の値を示していますが、percent2 は表示されるべきものの両側に 1 つまたは 2 つの数字であることが多いため、percent1 は 100 として表示され、percent2 は 2 として表示されます。

コードは次のとおりです。

<script type="text/javascript">
    $(function () {
        $("#percent_slider").slider({
            orientation: "horizontal",
            range: false,
            min: 0,
            max: 100,
            value: 50,
            step: 1,
            slide: function (event, ui) {
                $("#percent1").text(ui.value);
                var percent2 = 100 - ($("#percent_slider").slider("value"));
                $("#percent2").text(percent2.toFixed(0));
            },
        });
    });
</script>

これは、必要な値を見つけるための最良の方法ですか?

4

2 に答える 2

1

何らかの理由で、そして私は本当に理由がほとんどわかりませんが、これは機能します:

slide: function( event, ui ) {
    var sliderVal = ui.value,
        percent2 = 100-sliderVal;
    $( "#percent1" )
        .text(sliderVal);
    $("#percent2" )
        .text(percent2);

    console.log(sliderVal, percent2, sliderVal + percent2);

JSビンのデモ

完全にはわかりませんがui.value、関数全体で変数の繰り返し評価の間に時間遅延があったと思います。その値を変数に割り当てると、遅延がキャンセルされるか、少なくとも最小化されるようです。

于 2012-07-10T17:26:48.233 に答える
0

おそらく整数として prsed する必要があります。この値は文字列のようです... parseInt()を次のように使用します。

   var percent2 = 100 - parseInt($("#percent_slider").slider("value"));
于 2012-07-10T17:36:09.163 に答える