Re: [問題] 對於用js做小動畫的疑問

看板Web_Design作者 (沉默是金。)時間15年前 (2010/04/29 10:14), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串4/4 (看更多)
※ 引述《despair96 (.)》之銘言: : ※ 引述《TonyQ (沉默是金。)》之銘言: : : 幾乎接近是無窮迴圈了,這更造成先前所述的animate 操作的問題。 : 嗯嗯了解了 : 所以像這種狀況最好是執行完需要的動作就讓他停止會比較好嗎 clearTimeout( ) : 要讓雲持續抖動的代價就是一定會CPU飆高 不需要 clearTimeout 啊... 正常執行完就讓他自然停就好。 應該要注意的是嚴格管控setTimeout的間隔時間跟js的計算量吧, 一些比較造成繁重運算的行為要盡量避免。 其實這是程度的問題... 我記得我有作過類似的東西,應該沒有你想的這麼難才是。 : gif可以乾脆做成會動的 : 如果png有影子的圖..是否有其他方式能做到又不會太吃資源的呢 : : 另外其實還有一個在你這個case看不出來的隱性因素, : : dom物件越多,重新計算呈現結果就越慢, : : 在很肥很多物件的頁面上,這類的慢速移動是很奢侈的。 : : 用 png 8 : png8好像不能支援到多層透明度 : 之前看到有資料說對於沒有套png背景的外層容器做動態效果 : 能解決 : 之前測試過會變成直接閃現動態會怪怪的 : 所以似乎同時有多層透明度就還是不要對他做動態 是嗎 : : 語焉不詳。@_@ : 抱歉我表達的越來越亂=.=b : http://kidedu.wct.org.tw/html/ : 有點不好意思貼這個因為這是更糟糕的那個...而且還沒處理ie的問題 : 在animate.js裡 : 看到後面很可怕的一大串setTimeout...他們的出場時間懸殊很大 : 數據短的,都是有執行走很久的動態,幾萬毫秒的那些 : 只是我有點搞不清楚 他實際上要怎樣去算時間才正確 可能要先搞懂 , 哪些部份的操作是會停止 process 的, (會讓function停下來等他跑完再繼續), 哪些是非同步的(即會同時進行的)。 : : 這段描述很混亂...可能時間晚了看不太懂...XD : 就是如果我把讓雲浮現先寫.再讓雲移動完.再執行雲消失這樣是理想的 : 但是另外設定的上下抖動的function就失效了 : function tran5(){ : $('.cloud2').animate({opacity: "0.7"},{queue:false,duration:2000}) : .animate({left:"500px"},36000).animate({opacity: "0.4"},2000); : } : ^^^^先浮現,後面開始運動同時執行,執行完才執行消失 : 最後.... : 好像這樣子真的不太適合用js做 : 我承認我因為不會flash : 然後最近摸一點點jQuery 然後又很初學.. : 才笨笨的想試試看T_T 其實 如果你的雲只有4-5朵的程度 , js 是可以負擔的,只是作法的問題。 凡事大抵不出一個「算」字... 透過拉長間距時間,加大每次間距的移動距離, 只要「算」的好,就沒什麼煩惱。 (參考範例) http://tonyq.org/test/testAnimate/html.htm 寫 js 絕對不是像你的 animate 這樣, 把所有能夠運作的 code 寫上來就算的 . XD 還要針對每個細節去tune,就跟flash也要算frame是一樣的例子... -- What do you want to have ? / What do you have? 從書本中,你可以發現我的各種興趣。 從CD中,你可以瞭解我所喜歡的偶像明星。 或許從文字你很難以瞭解一個人,但從物品可以。 My PPolis , My past. http://ppolis.tw/user/Tony -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 116.59.137.1

04/29 10:30, , 1F
感謝感謝~!我應該要在看更多再試試看..會運用的還很不足
04/29 10:30, 1F
文章代碼(AID): #1BsEk0ft (Web_Design)
文章代碼(AID): #1BsEk0ft (Web_Design)