慕瓜5043631
2016-11-23 13:07
循环的时候lis[i].onmouseover=function () {
sport(this,'width',400, function () {
sport( this,'height',400)},function () {
});没有效果
那要怎么做才有效呢,把this改成lis[i],也不行,谢谢
在链式调用的时候不能使用this这个关键字,你这里的this没有效果跟this的绑定的规则有关。this的绑定规则比较复杂,建议你看一下《你不知道的javascript上卷》,这本书里有解释this的绑定问题。你这里的sport方法在第一次调用时的this的确是指向li的,这个this跟随onmouseover后的匿名函数,这个匿名函数的this指向li元素。但是第二个sport方法的调用是在第一个sport方法调用里的匿名函数中,这个匿名函数的this并不指向li标签,而是指向第一个sport方法,所以后面的调用都失败了,所以没有效果。
JS动画效果
113923 学习 · 1443 问题
相似问题