可不可以幫我看一下哪里出錯(cuò)了,運(yùn)行不出來?
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)
}
可不可以幫我看一下哪里出錯(cuò)了,運(yùn)行不出來
2017-09-23
仔細(xì)看,你的oDiv定義在onload事件里的匿名方法里,既然在方法里,怎么會(huì)是全局變量呢?
應(yīng)該把oDiv放在最外面定義,這才是全局變量,這樣子onload事件里的匿名方法和startMove()方法都能拿到ODiv的值。
或者也可以把startMove()加一個(gè)參數(shù),把oDiv傳進(jìn)去,然后在startMove()里拿這個(gè)oDiv也是可以的。
而且你沒有加else,如果不加else的話,在left值達(dá)到0之后,進(jìn)入if語句塊清理了計(jì)時(shí)器,還是會(huì)執(zhí)行完if語句塊后的這行代碼的,不加else的話,你會(huì)發(fā)現(xiàn)你的oDiv左邊多了10px的空隙。
2017-07-24
在函數(shù)startMove中,并未定義oDiv,還有沒加else