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

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

 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 回答

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

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

0 回复 有任何疑惑可以回复我~
#1

9527AImm 提问者

非常感谢!很有帮助!!!!
2016-06-02 回复 有任何疑惑可以回复我~

楼上正解

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

9527AImm 提问者

谢谢啦!!
2016-06-02 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信