为了账号安全,请及时绑定邮箱和手机立即绑定

js动画效果

js动画效果

皓韵儿 2016-09-27 21:53:00
1      ali[i].onmouseover = function(){            setLength(this,400 );//这是我自己写的一个函数,没错        }2     ali[i].onmouseover =setLength(this,400 );为什么这两种情况不一样,第二种不对吗??我是小白,求大神不要嫌弃。。。
查看完整描述

4 回答

?
慕桂英3409250

TA贡献3条经验 获得超4个赞

理解 this  就会明白你的问题

查看完整回答
反对 回复 2016-12-10
?
stone310

TA贡献361条经验 获得超191个赞

第1种情况,将setLength包裹在一层函数内,就可以实现ali触发onmouseover的时候才去执行setLength,这时候执行setLength的对象就是ali,this也就是ali;所以没问题

在2种情况,setLength这么写是个自执行函数,即不需要出发onmouseover时间,setLength函数就会自动执行,这是this的调用对象不是ali,而是window;所以执行不成功

查看完整回答
反对 回复 2016-09-28
?
慕用0418482

TA贡献98条经验 获得超15个赞

这个涉及到匿名函数作用域和js中this对象的引用

查看完整回答
反对 回复 2016-09-28
  • 4 回答
  • 0 关注
  • 1385 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信