我有50个名为animation0、animation1、animation2等的svg动画,我想在将整数0到49传递给此函数时加载它们:
function loadAnimation(value){
var whichswiffy = "animation" + value;
var stage = new swiffy.Stage(document.getElementById('swiffycontainer'), whichswiffy);
stage.start();
}
目前不起作用,也许它正在传递“whichswiffy”而不是animation10?
有什么想法吗?
最佳答案
"I have 50 svg animations named animation0, animation1, animation2 etc."
使用全局变量
我认为这意味着你有变量。如果它们是全局变量,您可以将它们作为全局对象的属性进行访问。
var whichswiffy = window["animation" + value];
<小时/>
使用对象代替变量
但是如果它们不是全局变量(或者即使它们是),您最好将它们存储在对象中...
var animations = {
animation0: your first value,
animation1: your second value,
/* and so on */
}
...然后将它们作为该对象的属性访问...
var whichswiffy = animations["animation" + value];
<小时/>
使用数组代替变量
或者更好,只需使用数组,因为唯一的区别是数字......
var animations = [
your first value,
your second value,
/* and so on */
]
然后只需使用索引...
var whichswiffy = animations[value];
关于javascript - 如何传递整数来创建新变量名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11376063/