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

我发现好像在move不加 var div1 = document.getElementById('div1'); 也是一样的可以动的

这名话一定要加在move()函数中吗? 加与不加有什么区别吗?

window.onload = function () {
    var div1 = document.getElementById('div1');
    div1.onmouseover = function () {
        move(0);
    }
    div1.onmouseout = function () {
        move(-200);
    }
}

var timer = null;

 function move(target) {
     clearInterval(timer);
     timer = setInterval(function () {
         var speend = 0;
         if(div1.offsetLeft > target){  
             speend = -10;
         } else {
             speend = 10;
         }
         if(div1.offsetLeft == target){
             clearInterval(timer);
         } else {
             div1.style.left = div1.offsetLeft + speend + 'px';
         }
     }, 30);
 }


正在回答

1 回答

因为你把他写在window.onload=function里面,相当于你把

var div1 = document.getElementById('div1'); 

作为一个全局变量了,所以你在move里面直接是可以调用这个div1这个变量的

div1.style.left = div1.offsetLeft + speend + 'px';

至于区别    其实也没多大区别    只是你定义在window.onload里面的话在其他函数里面也可以使用

就是说如果你这个变量在不同的函数中使用次数比较多的话是可以把他直接写到window.onload里面去的,这样的话代码就不会太冗余

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

举报

0/150
提交
取消

我发现好像在move不加 var div1 = document.getElementById('div1'); 也是一样的可以动的

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