延遲執行有時候可以解決很多問題,機器反應是需要時間的,有時候很多代碼都解決不來的一個問題,延遲執行就可以完美的解決。以下是開發中遇到的例子。
1,canvas畫布 echarts插件。我希望我繪制的畫布隨着屏幕的大小變化而變化,就是自適應。
在解決之前查了網上很多人都說 將如下語句放在setOption下面即可。而事實上,這樣是不夠的。因為window的resize方法執行時,
這時候它還沒有去獲取到屏幕的大小變化,echart的resize方法卻已經執行完成了。就會出現另一種狀況。就是第一次屏幕變化圖表沒有變化,
接下來的每次變化圖表都是反着變化的,屏幕變大圖表變小,屏幕變小圖表變大。
window.onresize = myChart.resize;
附上代碼:
myChart.setOption({ ......//自行配置內容 }); window.onresize = function(){ setTimeout("myChart.resize()",100); }
百度中的那個方法是對的,就看自己怎么用了。所以學習中要學會融匯貫通,可能一個很簡單的方法就可以解決問題。
一開始還想着要怎么在屏幕大小變化時獲取寬度,再實時的去改變圖表的大小。這樣是很麻煩的。而延遲執行則非常簡單的處理了這個問題,並且並不影響美感和觀感。
還是要多學學基礎知識。多學一點知識少些幾行代碼。思維要跳出定式。平時工作中多思考總結。
自勉。
原文地址:http://www.cnblogs.com/lal-fighting/p/6369421.html