noUiSlider获取幻灯片事件调用者的ID

cSm*_*out 2 javascript nouislider

我遇到了noUislider的问题,因为我需要能够在触发幻灯片事件时区分不同的滑块.

我想(并且从阅读noUiSlider GitHub)我可以使用'this'参考,但它似乎不起作用.

我的代码:

var mix_slider = document.getElementsByClassName('slider');

for (var i = 0; i < mix_slider.length; i++) 
{
noUiSlider.create(mix_slider[i], {
  start: [100],
  connect: "lower",
  orientation: "vertical",
  direction: "rtl",
  range: {
    'min': 0,
    'max': 127
  }
});

mix_slider[i].noUiSlider.on('slide', function(values, handle){
  var id = this.id; //<-- Needs to be the id of the slider that triggered the slide event 
  var part = id.slice(-2);
  var val = this.noUiSlider.get();//<-- This doesn't seem to work either
  document.getElementById('input_' + part).value = val;
});
};
Run Code Online (Sandbox Code Playgroud)

我不确定我做错了什么...我(在之前的noUiSlider版本上)使用了jQuery的$(this).attr('id'); 抓住id,但这也不起作用.

任何帮助将不胜感激

Lg1*_*102 6

this在noUiSlider的事件是滑块API.您可以使用API​​获取滑块元素this.target.(要获取元素ID,请使用this.target.getAttribute('id'))

var val = this.noUiSlider.get(); //<-- This doesn't seem to work either
Run Code Online (Sandbox Code Playgroud)

既然this是API,你就可以做到this.get().