沒有語法錯誤,為何無法執(zhí)行?
<script>
window.onload=function () {//頁面加載后執(zhí)行函數(shù)
var oDiv=document.getElementById('oDiv');//獲取紅塊對象
oDiv.onmouseover=function(){//鼠標(biāo)滑過紅塊時執(zhí)行函數(shù)(注意藍(lán)色字板也是紅板的一部分)
startMove(0);
}
oDiv.onmouseout=function(){//鼠標(biāo)移開紅塊時執(zhí)行函數(shù)(注意藍(lán)色字板也是紅板的一部分)
startMove(-200);//執(zhí)行封裝函數(shù)
}
}
var timer=null;//定義一個定時器變量,值為空
function startMove(iTarget){//封裝移動函數(shù)(兩個參數(shù):目標(biāo)對象,以及移動目標(biāo))
clearInterval(timer);//先清除原來的計時器,避免定時器疊加
//定時器函數(shù)執(zhí)行程序
var oDiv=document.getElementById('oDiv');
timer = setInterval(function(){
iSpeed=obj.offsetLeft>iTarget?-10:10;//速度選擇的條件表達(dá)式,選擇移動方向以及速度
if(obj.offsetLeft==iTarget){//速度選擇的條件表達(dá)式,選擇移動方向以及速度
clearInterval(timer);
}
else{
obj.style.left=obj.offsetLeft+iSpeed+'px';
}
},30);
}
</script>
2016-04-24
你的對象一下是oDiv,一下是obj,這樣肯定不行,把obj,都改為oDiv。否則,就像你在定義startMove()函數(shù)是注釋的,里面需要聲明兩個參數(shù),即function startMove(obj,iTarget){},同時,加載時的執(zhí)行參數(shù)下的startMove()也需要改為兩個參數(shù),可以改為startMove(this,0)和startMove(this,-200)。
2016-04-24
obj是什么換成odiv試試