課程
/前端開發
/JavaScript
/JS動畫效果
help~
2015-07-29
源自:JS動畫效果 4-2
正在回答
注意看line38
icur?=?Math.round(parseFloat(getStyle(obj.attr))*100);
obj.attr
目測是你這個參數搞錯了。應該是傳遞的兩個參數
所以應該是
icur?=?Math.round(parseFloat(getStyle(obj,?attr))*100);
TAMJING 提問者
<!DOCTYPE?html> <html?lang="en"> <head> ????<meta?charset="UTF-8"> ????<title>自主封裝多功能動畫框架</title> ????<style> ?ul?li{ ????????????width:?300px;; ????????????height:?200px; ????????????background:?pink; ????????????opacity:?0.3; ????????} ????</style> ????<script> ?window.onload?=?function(){ ????????????//?test ?var?Li1?=?document.getElementById('li1'); ????????????Li1.onmousemove?=?function(){ ????????????????DIY_Animation(this,'opacity',100); ????????????} ????????????Li1.onmouseout?=?function(){ ????????????????DIY_Animation(this,'opacity',30); ????????????} ????????} ????????//獲取對象obj的attr屬性 ?function?getStyle(obj,attr){ ????????????if(obj.currentStyle){??return?obj.currentStyle[attr];}//?有錯! ?else{??return?getComputedStyle(obj,false)[attr];} ????????} ????????//可以改變寬高、背景屬性、字號屬性、邊框屬性等等 ????????//透明度(opacity)特殊處理,0~100為標準 //????????var?alpha=30; ?function?DIY_Animation(obj,attr,iTarget){?//obj=對象;attr=屬性;iTarget=改變的數值 ?clearInterval(obj.timer); ????????????obj.timer?=?setInterval(function(){ ????????????????var?icur?=?0; ????????????????if(attr?==?'opacity'){ ????????????????????icur?=?Math.round(parseFloat(getStyle(obj.attr))*100); ????????????????}else{??icur?=?parseInt(getStyle(obj,attr));} ????????????????//獲取對象obj的attr屬性,parseInt()取整 ?var?speed?=?(iTarget-icur)/8; ????????????????speed?=?speed>0?Math.ceil(speed):Math.floor(speed); ????????????????if(icur?==?iTarget){??clearInterval(obj.timer);} ????????????????else?{ ????????????????????if?(attr?==?'opacity')?{ ????????????????????????obj.style.filter?=?'alpha(opacity:'?+?(icur?+?speed)?+?')'; ????????????????????????obj.style.opacity?=?(icur?+?speed)?/?100; ????????????????????}?else?{??obj.style[attr]?=?icur?+?speed?+?'px';} ????????????????} ????????????},30); ????????} ????</script> </head> <body> <ul> ????<li?id="li1"></li> </ul> </body> </html>
請帖完整代碼
Code_M0keny 回復 TAMJING 提問者
舉報
通過本課程JS動畫的學習,從簡單動畫開始,逐步深入各種動畫框架封裝
1 回答搞不懂錯在哪里。。報錯是21行 cannot set property“onmouseover”of null...
2 回答搞不懂啊 求教
5 回答不知道哪里錯了,動不了~
1 回答搞不懂為什么,幫幫忙
1 回答哪里錯了?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-07-29
注意看line38
obj.attr
目測是你這個參數搞錯了。應該是傳遞的兩個參數
所以應該是
2015-07-29
2015-07-29
請帖完整代碼