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