亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

我的代碼哪里有錯呢?我怎么排除都實現不了。

<!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>

正在回答

2 回答

  1. offsetwidth寫錯了,應該是offsetWidth;

  2. ?if(speed=speed>0){ ? //這里不太懂為什么要賦值,我改成了(speed>0)

    ?????Math.ceil(speed) ? //這里要賦值,不然計算了也沒有用到。改成speed=Math.ceil(speed);

    }
    else{
    ???? Math.floor(speed); ? //改成speed=Math.floor(speed);

    }

  3. ?if(obj.offsetwidth=iTarget){ ? ?//這里應該是obj.offsetwidth==iTarget,而不是賦值噢
    ? ? ? clearInterval(timer);
    }?else{
    ?? ??? ?obj.style.width=obj.offsetwidth+speed+'px';? }
    ??

  4. 改了這些地方之后應該就能動了,雖然還有一些BUG,共用了定時器神馬的,我也還沒消化好。。就只能幫到這里了恩:)

0 回復 有任何疑惑可以回復我~
#1

雪神仙 提問者

非常感謝
2016-08-09 回復 有任何疑惑可以回復我~
<script?type="text/javascript">
??window.onload=function(){
????var?oLi?=?document.getElementsByTagName("li");
????
????for(var?i=0;i<oLi.length;i++){
??????oLi[i].timer=null;??????????//給每一個li的onmouseover事件設置一個定時器
??????oLi[i].onmouseover=function(){
????????startMove(this,500);
??????};

??????oLi[i].onmouseout=function(){
????????startMove(this,10);
???????};
????}
??}

function?startMove(obj,iTarget){
??clearInterval(obj.timer);
??obj.timer=setInterval(function(){
????var?speed=(iTarget-obj.offsetWidth)/10;?//offsetWidth拼錯了,要用駝峰法。
????speed=speed>0???Math.ceil(speed)?:?Math.floor(speed);//你原來這里的if?else語句寫錯了,我給你改成了三元表達式。實現的作用和樓上那位同學是一樣的,你原來的代碼你可以自己去alert(speed),是一個布爾值。
????if(obj.offsetWidth==iTarget){?//if?語句的判斷錯了。
??????clearInterval(obj.timer);
????}
????else{
????????obj.style.width=obj.offsetWidth+speed+'px';
????}
??
??},30)
}
</script>


具體的錯誤其實我樓上那位同學都給你指出來了,你可以對照我的代碼印證一下
0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

我的代碼哪里有錯呢?我怎么排除都實現不了。

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號