代碼:
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、網(wǎng)站制作、秦安網(wǎng)絡(luò)推廣、微信小程序開發(fā)、秦安網(wǎng)絡(luò)營銷、秦安企業(yè)策劃、秦安品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供秦安建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:chinadenli.net

問題再現(xiàn)步驟:
第一步:? 打開頁面,能夠正常顯示圖表
第二步:? 點擊隱藏按鈕,讓box隱藏掉,如果此時直接點擊顯示按鈕,圖表依舊可以
?????????????正常顯示,沒毛病。重點是,如果此時點擊完了隱藏,不點擊顯示,而是拖動窗口大小
????????? ? ?再來點擊顯示按鈕,就會發(fā)現(xiàn)圖表顯示不出來,為什么會顯示不出來了?
分析產(chǎn)生的原因:
1 點擊隱藏按鈕以后的,此時還沒有拖到窗口大小

會發(fā)現(xiàn)box的確是隱藏了,display:none;
canvas標(biāo)簽內(nèi)的行內(nèi)樣式有width:623px,height:500px;
2 此時開始拖動窗口大小,改變窗口的大小,再來觀察

會發(fā)發(fā)現(xiàn)此時
canvas標(biāo)簽內(nèi)的行內(nèi)樣式變成了 width:0px, height:100px;
這就是為什么此時再來點擊顯示按鈕時,圖表顯示不出來的問題所在,因為此時畫布的width已經(jīng)為0,
自然而然就顯示不出來,如果此時再拖動窗口大小,圖表就又會顯示出來。
如何解決該問題了?
解決思路就是在點擊顯示按鈕以后,觸發(fā)窗口大小改變事件就可以完成

出現(xiàn)該問題的關(guān)鍵還在于一開始我們并沒有給bar元素設(shè)置width屬性

如果把bar設(shè)置成width:100%,height:100%;就會出現(xiàn)如下問題:

width和height都變成了100px了
如果一開就給bar元素就設(shè)置固定寬度和高度,就不會文章所指的問題了

但有時我們需要做到自適應(yīng)不得不去設(shè)置100%,這就是文中所會出現(xiàn)的問題了。
完成測試代碼:
<!DOCTYPE?html>
<html>
<head>
<meta?charset="UTF-8">
<title></title>
<style?type="text/css">
*{
margin:?0;
padding:?0;
}
.box{
height:?500px;
background-color:?#00B83F;
}
#bar{
height:?100%;
}
.btn?{
position:?fixed;
bottom:?0;
left:?0;
right:?0;
height:?80px;
background-color:?rgba(0,?0,?0,?.5);
z-index:?999;
}
</style>
</head>
<body>
<div?class="box">
<div?id="bar"></div>
</div>
<div?class="btn">
<button>隱藏</button>
<button>顯示</button>
</div>
</body>
<script?src="js/jquery.js"?type="text/javascript"?charset="utf-8"></script>
<script?src="js/echarts.min.js"?type="text/javascript"?charset="utf-8"></script>
<script?type="text/javascript">
var?myChart?=?null;
initChart();
function?initChart()?{
console.log('initChart');
if(!myChart){
myChart?=?echarts.init(document.getElementById('bar'));
}
//?設(shè)置參數(shù)配置
var?option?=?{
title:?{
text:?'柱狀圖'
},
tooltip:?{},
legend:?{
data:?['模擬數(shù)據(jù)']
},
xAxis:?{
data:?['數(shù)學(xué)',?'語文',?'英語',?'體育',?'高數(shù)',?'美術(shù)',?'音樂',?'思想',?'aa',?'bb',?'cc']
},
yAxis:?{
splitLine:?{
show:?false?//?是否顯示y軸的分割線?默認是true
}
},
series:?{
type:?'bar',?//?表示的是柱狀圖
data:?[98,?80,?54,?60,?64,?89,?76,?88,?99,?55,?66],
name:?'模擬數(shù)據(jù)',
//barWidth:?30,
}
};
//?顯示圖表
myChart.setOption(option);
$(window).resize(myChart.resize);
}
//?隱藏
$('button:eq(0)').click(function(){
$('.box').hide();
});
//?顯示
$('button:eq(1)').click(function(){
$('.box').show();
$(window).trigger('resize');
});
</script>
</html>
本文標(biāo)題:隱藏元素之后改變窗體大小時echarts顯示異常問題
網(wǎng)址分享:http://chinadenli.net/article0/gdggoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、品牌網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、、外貿(mào)建站、虛擬主機
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)