Javascript GSAP timelineite.to()将变量传递给第三个参数无效。
我试图为Javascript GSAP timelineite.to()将变量传递给第三个参数无效。,javascript,variables,parameters,gsap,Javascript,Variables,Parameters,Gsap,我试图为TimeLineLite.to(param1,param2,param3,param4)中的所有四个参数使用变量 参数1、2和4可以很好地使用变量,但是,当我将任何类型的变量放入参数3时,参数3会爆炸。我需要一些帮助来理解为什么 参数的结构为so.to(目标:对象,持续时间:编号,{vars:Object},位置:*) 这是我到目前为止看过的文档,但是,我找不到任何关于向参数传递变量的信息,也找不到任何关于为什么它不应该工作的指示 (一) (二) 另外,这是一个带有两个模型的代码笔,除了
TimeLineLite.to(param1,param2,param3,param4)中的所有四个参数使用变量代码>
参数1、2和4可以很好地使用变量,但是,当我将任何类型的变量放入参数3时,参数3会爆炸。我需要一些帮助来理解为什么
参数的结构为so.to(目标:对象,持续时间:编号,{vars:Object},位置:*)代码>
这是我到目前为止看过的文档,但是,我找不到任何关于向参数传递变量的信息,也找不到任何关于为什么它不应该工作的指示
(一)
(二)
另外,这是一个带有两个模型的代码笔,除了参数3,它们都是相同的。可以单击任意位置以重新启动动画。有人能帮我弄清楚为什么第二个格林斯托克人不肯动吗
codepen:当尝试使用变量引用对象键时,需要将它们括在方括号中
考虑以下示例:
var direction = 'left';
var someObject = { left: 200 };
console.log(someObject.direction);
console.log(someObject[direction]);
第一个console.log
语句将返回undefined
,因为someObject
中不存在名为direction
的键。但是,第二个console.log
调用将返回200
的值,因为您将direction
视为一个变量,该变量存储另一个存储在其中的字符串值,即'left'
,经过计算后,它将变成someObject['left']
,因此,返回200的正确结果
简而言之,将variableDriver.to(…)
行更改为:
variableDriven.to(“.variableDriven”,3,{[direction]:distance})代码>
希望这能有所帮助。谢谢塔希尔·艾哈迈德。今晚你真的帮了我,教了我一些东西!!我一定会帮你的忙:如果你认为你知道答案的任何人提出任何问题,你都会帮你的忙:)