关于 var odiv = document.getElementById('div1');

来源:2-1 JS速度动画

9527AImm

2016-06-01 09:59

 window.onload=function(){

 var odiv=document.getElementById("div1");

 odiv.onmouseover = function(){

 startMove();

 }

 }

function startMove(){

var odiv=document.getElementById("div1");

setInterval(function(){

odiv.style.left = odiv.offsetLeft + 10 + 'px';

},30)

这段里面 var odiv = document.getElementById('div1');有两次,想知道后面这次的意义是什么,读取不到前面写的么?

写回答 关注

3回答

  • 飞舞的墨
    2016-06-01 11:05:13
    已采纳

    这两次定义的odiv的作用域都是在各自的函数体内。也就是startMove()是获取不到onload的匿名函数中定义的odiv.

    如果你想只定义一次,那就将odiv定义成全局变量,这个页面的任何函数都可以直接获取的到。

    9527AI...

    非常感谢!很有帮助!!!!

    2016-06-02 10:10:51

    共 1 条回复 >

  • cosmochina
    2016-06-01 14:01:35

    楼上正解

  • rouken
    2016-06-01 11:07:37

    两个都是局部变量,要分别在两个函数内声明

    9527AI...

    谢谢啦!!

    2016-06-02 10:11:15

    共 1 条回复 >

JS动画效果

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

113925 学习 · 1443 问题

查看课程

相似问题