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

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

搞不懂為什么,幫幫忙

有三個問題:1.如果不定義timer控制臺會報錯,但不影響運行,定義后控制臺不報錯。

2,看不到向上消失的動畫,只有從下向上出現的動畫,貌似只執行了第二個動畫,也許我看不清,但是不應該。

3.flag在里在外都一樣,并未影響,為什么


function getstyle(obj,attr){

if(obj.currentStyle)

{

return obj.currentStyle[attr];

}

else

{

return getComputedStyle(obj,false)[attr];

}

}

var timer=null;

function startMove(obj,json,fn){ //fn為回調函數

clearInterval(obj.timer);

//var flag=true;

obj.timer=setInterval(function(){

//取當前值

var flag=true;

for(var attr in json)

{

var icurr=0;//要獲取的屬性

var speed=0;

if(attr=='opacity'){

icurr=Math.round(parseFloat(getstyle(obj,attr))*100);

}

else{

? ?icurr=parseInt(getstyle(obj,attr));

}

//計算速度

speed=(json[attr]-icurr)/8;

speed=speed>0?Math.ceil(speed):Math.floor(speed);

//判斷停止

if(icurr!=json[attr])

{

? flag=false;

}

else

{

flag=true;

}

if(attr=='opacity'){

obj.style.filter='alpha(opacity:'+(icurr+speed)+')';//針對IE

obj.style.opacity=(icurr+speed)/100;

}

else{

obj.style[attr]=icurr+speed+'px';

}

}

if(flag=true)

{

clearInterval(timer);

if(fn)

{

fn();

}

}

},30);

}


正在回答

1 回答

  1. clearInterval(timer),應該是obj.timer

  2. 調試看看動畫過程是否正確取值和設置值

  3. flag在里面的時候,外面的判斷取不到flag的值,obj.timer關不掉。效果看起來當然一樣,跟第一問差不多。

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

舉報

0/150
提交
取消
JS動畫效果
  • 參與學習       113918    人
  • 解答問題       1502    個

通過本課程JS動畫的學習,從簡單動畫開始,逐步深入各種動畫框架封裝

進入課程

搞不懂為什么,幫幫忙

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

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

幫助反饋 APP下載

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

公眾號

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