我在页面上有几个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
答案 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();
}