qq_沥川很宅_03206095
2017-02-16 11:57
为什么这里startMove(Li,'width',400,function(){})这样没问题,但是一旦你用startMove(this,'width',400,function(){})浏览器都报错
一个对象只能是它的下一层用this,再下一层需要定义一个变量 var a=this;
startMove(a,…),,,,,,,,,,,,,,,,,,,,,,,
课程中的代码是
Li.onmousevoer = function { startMove(...); }
startMove 函数实在 function 中调用的,而非直接由 Li 持有,所以在 startMove 中不能用 this,你可以试一下,在 function 中用 this 是没有问题的。
你想在 startMove 中用 this 可以改成这样:
Li.onmouseover = startMove(...);
这样就可以。
它是对类的当前实例的引用。 你的startMove()上面有没有实例, 类似于startMove(Li,'width',400,function(){})里的 “Li”
JS动画效果
113923 学习 · 1443 问题
相似问题