1

我无法在函数之外获取两个 noUiSlider 的值。

这是 jsbin 文件: http ://jsbin.com/havabemugi/edit?css,js,console,output

我可以在两个函数中执行两个值的 console.log,但是当我尝试在外部访问它们时会发生错误。

我需要将它们存储在两个不同的变量中,并可以全局访问它们。

4

1 回答 1

0

只需创建一个全局变量并在您的函数中为其分配一个值。然后,您可以在任何地方引用该全局变量。我创建了一个新的 Bin 将滑块 1 的值保存到全局变量中,然后在移动滑块 2 时输出该值: http ://jsbin.com/guvogocusi/1/edit?js,console,output

这是代码:

var rangeSlider1 = document.getElementById('rangeslider1');
var rangeSlider2 = document.getElementById('rangeslider2');
var slider1Val;

noUiSlider.create(rangeSlider1, {
  start: 5,
  step: 1,
  connect: 'lower',
  range: {
    min: 0,
    max: 80
  }
});

noUiSlider.create(rangeSlider2, {
  start: 5,
  step: 1,
  connect: 'lower',
  range: {
    min: 0,
    max: 80
  }
});

function getValue1(values, handle, unencoded, tap) {
  console.log("value of slider1: " + unencoded);
  slider1Val = unencoded;
}

function getValue2(values, handle, unencoded, tap) {
  console.log(slider1Val);  
}

rangeSlider1.noUiSlider.on('update', getValue1);
rangeSlider2.noUiSlider.on('update', getValue2);
于 2016-03-04T15:11:31.000 回答