我發現好像在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); ?}
2017-09-30
因為你把他寫在window.onload=function里面,相當于你把
var div1 = document.getElementById('div1');?
作為一個全局變量了,所以你在move里面直接是可以調用這個div1這個變量的
div1.style.left?=?div1.offsetLeft?+?speend?+?'px';
至于區別 ? ?其實也沒多大區別 ? ?只是你定義在window.onload里面的話在其他函數里面也可以使用
就是說如果你這個變量在不同的函數中使用次數比較多的話是可以把他直接寫到window.onload里面去的,這樣的話代碼就不會太冗余