-4

これは重複した質問のように聞こえるかもしれませんが、スタックオーバーフローからすでに無数のことを試しましたが、機能しません。私がやろうとしているのは noUiSlider で、基本的に各スライダーの 3 つの値を取得し、それらの値を好きなように使用しようとしています。たとえば、スライダーの合計値が加算された場合に次のボタンをオンまたはオフにします。特定の値に。

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

    // On document ready, initialize noUiSlider.
      $(function(){



        $('.guardsRanger').noUiSlider({
          start: [0],
          step: 1,
          behaviour: 'tap-drag',
          range: {
            'min': 0,
            'max': 8
          }
        }, true);

        $('.jacksRanger').noUiSlider({
          start: [0],
          step: 1,
          behaviour: 'tap-drag',
          range: {
            'min': 0,
            'max': 8
          }
        }, true);

        $('.strikersRanger').noUiSlider({
          start: [0],
          step: 1,
          behaviour: 'tap-drag',
          range: {
            'min': 0,
            'max': 8
          }
        }, true);

        $("#pips-values").noUiSlider_pips({
  mode: 'values',
  values: [1,2,3,4,5,6,7,8],
  density: 8
});

        $("#pips1-values").noUiSlider_pips({
  mode: 'values',
  values: [1,2,3,4,5,6,7,8],
  density: 8
});

        $("#pips2-values").noUiSlider_pips({
  mode: 'values',
  values: [1,2,3,4,5,6,7,8],
  density: 8
});


var guardsval;


$(".guardsRanger").on({
  set: function(){
    guardsval = $(".guardsRanger").val();
  }
});

$(".jacksRanger").on({
  set: function(){
    jacksval = $(".jacksRanger").val();
  }
});

$(".strikersRanger").on({
  set: function(){
    strikersval = $(".strikersRanger").val();
  }
});

alert(guardsval);

      });
4

1 に答える 1

3

問題は、JavaScript のコールバックの概念を理解していないことです。

次の質問を読んでください: 誰かがコールバック関数について説明してくれますか?

コールバック関数 (属性を介して設定されます) は、何らかのイベント (この場合はイベントだと思います)が発生した場合にのみ変数setを操作します。問題は、まだ初期化されていないときにを呼び出すことです。guardsvalsetalert(guardsval)guardsval

于 2014-10-28T18:57:30.093 に答える