我的代碼哪里有錯(cuò)呢?我怎么排除都實(shí)現(xiàn)不了。
<!DOCTYPE html>
<html>
<head>
??? <meta charset="UTF-8">
??? <title>more</title>
<style type="text/css">
ul ,li{
?? ?list-style: none;
}
ul li{
width:200px;
height: 100px;
background: yellow;
margin-bottom: 20px;
}
</style>
<script type="text/javascript">
?? ?window.onload=function(){
??? var Ali=document.getElementsByTagName("li");
??? for(var i=0;i<Ali.length;i++){
?????? Ali[i].onmouseover=function(){
??????? startMove(this,500);
?????? }
?????? Ali[i].onmouseout=function(){
????? ??? ?startMove(this,10);
?????? }
??? }
?? ?}
var timer=null;
function startMove(obj,iTarget){
clearInterval(timer);
timer=setInterval(function(){
??? var speed=(iTarget-obj.offsetwidth)/10;
??? if(speed=speed>0){ Math.ceil(speed)}
????? else{
???? Math.floor(speed);}
??? if(obj.offsetwidth=iTarget){
???? clearInterval(timer);
??? }
??? else{
?? ??? ?obj.style.width=obj.offsetwidth+speed+'px';
??? }
?
},30)
}
</script>
</head>
<body>
?? ?<ul>
?? ??? ?<li></li>
?? ??? ?<li></li>
?? ??? ?<li></li>
?? ?</ul>
</body>
</html>
2016-08-06
offsetwidth寫錯(cuò)了,應(yīng)該是offsetWidth;
?if(speed=speed>0){ ? //這里不太懂為什么要賦值,我改成了(speed>0)
?????Math.ceil(speed) ? //這里要賦值,不然計(jì)算了也沒有用到。改成speed=Math.ceil(speed);
}
else{
???? Math.floor(speed); ? //改成speed=Math.floor(speed);
}
?if(obj.offsetwidth=iTarget){ ? ?//這里應(yīng)該是obj.offsetwidth==iTarget,而不是賦值噢
? ? ? clearInterval(timer);
}?else{
?? ??? ?obj.style.width=obj.offsetwidth+speed+'px';? }
??
改了這些地方之后應(yīng)該就能動(dòng)了,雖然還有一些BUG,共用了定時(shí)器神馬的,我也還沒消化好。。就只能幫到這里了恩:)
2016-08-06