为什么oDiv.onmouseover后面要把startMove(100)写在一个匿名函数里,而不是直接跟在等号后面?

来源:2-2 JS透明度动画

黑白灰菌

2016-12-15 12:00

为什么这样写运行不出来:

oDiv.onmouseover="startMove(100)";
oDiv.onmouseout="startMove(30)";

写在匿名函数里才能运行:

           oDiv.onmouseover=function () {
               startMove(100)
           }
           oDiv.onmouseout=function () {
               startMove(30)
           }

写回答 关注

1回答

  • 且聴瘋吟
    2016-12-15 17:39:36
    已采纳

    因为如果直接写在等号后面,我们就无法为编写的函数startMove()传递参数(100),也就是这个100是无法传递的,原因是事件处理函数是由系统调用的,系统调用的时候会传入一个事件对象event参数。

JS动画效果

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

113925 学习 · 1443 问题

查看课程

相似问题