可不可以幫我看一下哪里出錯了,運行不出來?
window.onload=function(){
?var oDiv=document.getElementById('div1');
?oDiv.onmouseover=function(){
??startMove();
?}
}
var timer=null;
function startMove(){
?timer=setInterval(function()
?{
??if(oDiv.offsetLeft==0)
??{
???clearInterval(timer);
??}
??oDiv.style.left=oDiv.offsetLeft+10+'px';
?},300)
}
可不可以幫我看一下哪里出錯了,運行不出來
2017-09-23
仔細看,你的oDiv定義在onload事件里的匿名方法里,既然在方法里,怎么會是全局變量呢?
應該把oDiv放在最外面定義,這才是全局變量,這樣子onload事件里的匿名方法和startMove()方法都能拿到ODiv的值。
或者也可以把startMove()加一個參數,把oDiv傳進去,然后在startMove()里拿這個oDiv也是可以的。
而且你沒有加else,如果不加else的話,在left值達到0之后,進入if語句塊清理了計時器,還是會執行完if語句塊后的這行代碼的,不加else的話,你會發現你的oDiv左邊多了10px的空隙。
2017-07-24
在函數startMove中,并未定義oDiv,還有沒加else