首先要了解dom对象的onrize()事件

说明:onrize()事件会在窗口或框架被调整大小时发生。就是说浏览器大小改变,便会跟着动态改变

1.原生js的写法:
`window.onrize = function(){

  javascriptCode

}`
2.jquery的写法:
`$(window).resize(function(){
javascriptCode})`

用途:

这个方法在编写自适应网页时候,非常有用,以往的方法可以用css3媒体查询进行编写,onrize方法通过js方法改变元素尺寸,进而大袋自适应目的。

回到正题

当你使用tab切换时候,发现切换之后,图表被压缩了,
这是因为你切换的时候,js立马执行,还没来得及渲染改过的css样式,导致canvas有了自己默认的尺寸,没有获取到实际的尺寸,就会看到图表样式被压缩。

解决办法

1.使用onrize()方法,在自己的js文件中定义好这个事件方法,

`<script type='text/javascript'>
window.onrize = function(){
javascriptCode}</script>`
然后在执行tab点击事件时,执行window.onrize()方法就可以了。
2.使用settimeout延迟函数,等待一会在加载js。


jacky_chan
24 声望1 粉丝

1