echarts自适应屏幕大小变化 方法:jq延迟执行 setTimeout()
延迟执行有时候可以解决很多问题,机器反应是需要时间的,有时候很多代码都解决不来的一个问题,延迟执行就可以完美的解决。以下是开发中遇到的例子。
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