按照課程中的思路,我將alpha值設為浮點數,就會產生奇怪的事情。。。。。。
<!DOCTYPE?html> <html> <head> <meta?charset="UTF-8"> <title>Document</title> <style?type="text/css"> div{ width:?100px; height:?100px; background:?red; opacity:?0.3; } </style> <script?type="text/javascript"> window.onload?=?opacity; function?opacity()?{ var?div?=?document.getElementById('div'); div.onmouseover?=?function?()?{ startOpa(); }; div.onmouseout?=?function?()?{ startOpa(); }; } var?timer?=?null; //alpha為頁面設置初始不透明度值。 var?alpha?=?0.3; /*function?startOpa(iTarget)?{ var?div?=?document.getElementById('div'); clearInterval(timer); timer?=?setInterval(function?()?{ var?speed; //判斷速度正負,也就是往透明走還是不透明走 if?(iTarget?>?alpha)?{ speed?=?0.05; }else?{ speed?=?-0.05; } //操作 if?(alpha?==?iTarget)?{ clearInterval(timer); }else?{ alpha?=?speed?+?alpha; div.style.opacity?=?alpha; } },30); }*/ function?startOpa()?{ var?div?=?document.getElementById('div'); clearInterval(timer); timer?=?setInterval(function?()?{ if?(alpha?==?1)?{ clearInterval(timer); }else?{ alpha?=?alpha?+?0.01; div.style.opacity?=?alpha; } },250); } </script> </head> <body> <div?id="div"></div> </body> </html>
注釋的代碼是寫完的代碼,我把它注釋掉了然后就寫一個開始漸變然后漸變到1時停止這個例子都無法啟動,然而寫成整數又可以運行,頭痛。
2016-05-18
想了半天!終于知道了!跟我一樣的小伙伴不明白的快點進來看!
搞了半天,是javascript的問題,js里浮點數運算有一些小問題.具體情況你們加載這段代碼就明白了.真是巨坑無比!