2016-11-22 6 views
0

複数のnoUiSlidersを1つのページに作成しようとしていますが、「noUiSlider.createには1つの要素が必要です」というエラーが表示されます。複数のnoUiSliderインスタンスの発行

基本的に、私は異なる機能から2つ(またはそれ以上)のスライダ(異なるクラス)をインスタンス化していますが、上記のエラーが発生しています。

このプラグインを使用したことがある人はいますか?

var Slider1Handler = function(){ 

var slider1 = document.getElementsByClassName('slider1'); 
noUiSlider.create(slider1, { 
     start: [ 0 ], 
     connect: [true, false], 
     step: 1000, 
     tooltips: true, 
     orientation: "horizontal", 
     range: { 
     'min': [ 2000 ], 
     'max': [ 10000 ] 
     } 
}); 
}; 

var Slider2Handler = function(){ 

var slider2 = document.getElementsByClassName('slider2'); 
noUiSlider.create(slider2, { 
     start: [ 0 ], 
     connect: [true, false], 
     step: 1000, 
     tooltips: true, 
     orientation: "horizontal", 
     range: { 
     'min': [ 2000 ], 
     'max': [ 10000 ] 
     } 
}); 
}; 
+0

だけの推測、しかしのgetElementsByClassNameは、そのクラスによって一つだけelmentがあっても、コレクションを返すために、 'document.getElementsByClassName(「slider1」)してみてください[0]' – tobiv

答えて

1

getElementsByClassName戻りnodeListなく、単一の要素:ここ

は一例です。あなたは、次のいずれかのオプションを使用することができます

  • 要素にidを追加し、getElementByIdを使用します。
  • nodeListの最初の要素をとります。document.getElementsByClassName( 'slider2')[0];
  • document.querySelector('.slider2')を使用してください。は単一の要素を返します。
+0

おかげで、本当に感謝! – Beppe

+0

ラベルに10進数ではなく文字列を表示する方法を知っていますか?それは数字だけを表示するようだと私は解決策を見つけるために少し狂っている:/ – Beppe

+0

['フォーマット'](https://refreshless.com/nouislider/slider-read-write/#section-書式設定)オプションです。 – Lg102

関連する問題