我正在制作一个 svg 文件的动画,为了不让我的代码变得臃肿,我编写了以下函数:
function animateSingleAtt(svgName, element, attToAnimate, attValue, animationTiming) {
svgName.select( element ).animate({
attToAnimate : attValue
}, animationTiming);
}
除了 attToAnimate 之外,所有参数都加载得很好。我不知道为什么会这样——它只是作为名为“attToAnimate”的属性传递给 svg 元素。
我尝试将其记录在动画函数之外,当我这样做时,它就顺利通过了。
任何帮助将不胜感激!
最佳答案
看起来您正在使用 attToAnimate
作为对象上的键。要正确执行此操作,请将代码更改为如下所示:
function animateSingleAtt(svgName, element, attToAnimate, attValue, animationTiming) {
var anObject = {};
anObject[attToAnimate] = attValue;
svgName.select( element ).animate(anObject, animationTiming);
}
这应该正确构建您想要传递给 .animate
的对象
关于Javascript 函数参数不会加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40641476/