使用变量调用对象

时间:2017-04-18 17:43:04

标签: javascript object

我在页面上有几个javascript滑块,我希望能够通过使用变量来启用或禁用每个滑块。

例如,我有一个滑块:

var slider1 = new Slider('#sitSlider', {
                       formatter: function(value) {
                                return  value;}     });

我启用/禁用它:

        slider1.disable();

我希望能够做这样的事情来关掉几个开关:

for(x=0;x<20;x++){
    var tmpStr = "slider"+x;
tmpStr.disable();
}

我做了一些搜索并试了一下但没有成功:

this[tmpStr].disable();

如何使用变量调用对象?感谢。

编辑:这是我正在使用的滑块组件:Bootstrap Slider

2 个答案:

答案 0 :(得分:1)

创建一个数组:

var sliders = [];

将对象推到该数组上:

sliders.push(new Slider(...));

然后在循环中,您可以访问数组元素:

for(x = 0; x < sliders.length; x++){
    sliders[x].disable; // side note: missing parentheses here?
}

每当您尝试使用递增数字作为变量名称的一部分时,您可能正在寻找某种数组或集合。

答案 1 :(得分:1)

没有。你不能这样做。变量名不应该这样给出。

最简单的方法是创建阵列并推动滑块。您可以循环播放数组并访问滑块。

var sldsr =[];

...
sldsr.push(slider1);

...

sldsr.push(slider2);

for(x=0;x<sldsr.length;x++){

  sldsr[x].disable();

}