2016-08-16 34 views
0

为进度条编写的以下脚本与id=container1分配给div。这是当我有几个div s与像容器2,容器3和...这一切都应该被引用到这个脚本。如何在一个javascript代码中定义多个“id”?

如何将此脚本分配给所有div

var bar = new ProgressBar.Line(container1, { 
    strokeWidth: 4, 
    easing: 'easeInOut', 
    duration: 1400, 
    color: '#66cc33', 
    trailColor: 'transparent', 
    trailWidth: 1, 
    svgStyle: { 
    width: '100%', 
    height: '100%', 
    position: 'absolute' 
    } 
}); 

bar.animate(1.0); // Number from 0.0 to 1.0 
+0

我可以知道'ProgressBar.Line'的定义在哪里? –

+0

通过调用浏览并在javascript中应用 –

+0

'ProgressBar.Line'代码通过'id =“container1”'作用于分区,我希望它能在分区上使用id:container2,container3和...以及。 – syzd

回答

0

如果不使用闭包,然后每个容器都从窗口对象的访问,你可以使用数组访问得到的对象:

var containerCount = 5; 
for (var i = 1; i <= containerCount; i++) { 
    var bar = new ProgressBar.Line(window["container" + i, { 
     // Stuff here 
    } 
} 

如果使用闭然后你需要把它们放在一个对象中并使用相同的东西,但用对象的名称替换window

1

如果我正确理解你的问题,你想要几个progressBar实例引用相同的选项对象。

var progressBarOptions={ 
    strokeWidth: 4, 
    easing: 'easeInOut', 
    duration: 1400, 
    color: '#66cc33', 
    trailColor: 'transparent', 
    trailWidth: 1, 
    svgStyle: { 
    width: '100%', 
    height: '100%', 
    position: 'absolute' 
    } 
} 

var bar1 = new ProgressBar.Line(container1, progressBarOptions); 
var bar2 = new ProgressBar.Line(container2, progressBarOptions); 
var bar3 = new ProgressBar.Line(container3, progressBarOptions); 
0

它取决于ProgressBar的API。您必须阅读API文档或ProgressBar.Line的定义以确定new ProgressBar.Line(option)是否每次都可以返回相同的实例。