亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

隱藏元素之后改變窗體大小時echarts顯示異常問題

發布時間:2020-07-29 14:30:06 來源:網絡 閱讀:4094 作者:歆冉 欄目:web開發

代碼:

隱藏元素之后改變窗體大小時echarts顯示異常問題

問題再現步驟:

第一步:? 打開頁面,能夠正常顯示圖表

第二步:? 點擊隱藏按鈕,讓box隱藏掉,如果此時直接點擊顯示按鈕,圖表依舊可以

?????????????正常顯示,沒毛病。重點是,如果此時點擊完了隱藏,不點擊顯示,而是拖動窗口大小

????????? ? ?再來點擊顯示按鈕,就會發現圖表顯示不出來,為什么會顯示不出來了?

分析產生的原因:

1 點擊隱藏按鈕以后的,此時還沒有拖到窗口大小

隱藏元素之后改變窗體大小時echarts顯示異常問題

會發現box的確是隱藏了,display:none;

canvas標簽內的行內樣式有width:623px,height:500px;

2 此時開始拖動窗口大小,改變窗口的大小,再來觀察

隱藏元素之后改變窗體大小時echarts顯示異常問題

會發發現此時

canvas標簽內的行內樣式變成了 width:0px, height:100px;

這就是為什么此時再來點擊顯示按鈕時,圖表顯示不出來的問題所在,因為此時畫布的width已經為0,

自然而然就顯示不出來,如果此時再拖動窗口大小,圖表就又會顯示出來。



如何解決該問題了?

解決思路就是在點擊顯示按鈕以后,觸發窗口大小改變事件就可以完成

隱藏元素之后改變窗體大小時echarts顯示異常問題

出現該問題的關鍵還在于一開始我們并沒有給bar元素設置width屬性

隱藏元素之后改變窗體大小時echarts顯示異常問題

如果把bar設置成width:100%,height:100%;就會出現如下問題:

隱藏元素之后改變窗體大小時echarts顯示異常問題

width和height都變成了100px了


如果一開就給bar元素就設置固定寬度和高度,就不會文章所指的問題了

隱藏元素之后改變窗體大小時echarts顯示異常問題

但有時我們需要做到自適應不得不去設置100%,這就是文中所會出現的問題了。

完成測試代碼:

<!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'));
}
//?設置參數配置
var?option?=?{
title:?{
text:?'柱狀圖'
},
tooltip:?{},
legend:?{
data:?['模擬數據']
},
xAxis:?{
data:?['數學',?'語文',?'英語',?'體育',?'高數',?'美術',?'音樂',?'思想',?'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:?'模擬數據',
//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>


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

枣庄市| 轮台县| 云南省| 墨竹工卡县| 监利县| 安溪县| 波密县| 南澳县| 时尚| 申扎县| 乌拉特中旗| 都兰县| 永州市| 鄂尔多斯市| 阳新县| 平昌县| 承德市| 宁安市| 广宁县| 津市市| 平江县| 汨罗市| 宜黄县| 方城县| 徐汇区| 东阳市| 车致| 武定县| 通许县| 凌源市| 修文县| 滕州市| 安龙县| 馆陶县| 菏泽市| 楚雄市| 闸北区| 六盘水市| 濉溪县| 焦作市| 塘沽区|