欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

echart自適應(yīng)寬度的兩種方法實例

 更新時間:2022年12月14日 09:39:16   作者:假裝是個web狗  
最近工作中element后臺管理使用Echarts圖表,在使用過程中也遇到了些問題,下面這篇文章主要給大家介紹了關(guān)于echart自適應(yīng)寬度的兩種方法,需要的朋友可以參考下

1.一個頁面多個圖表的自適應(yīng)寬度可以用

注意:應(yīng)寫在多個圖表的后面,不能一個一個寫,會發(fā)生錯誤

//根據(jù)窗口的大小變動圖表 
window.onresize = function(){
    myChart.resize();
    myChart1.resize();    //若有多個圖表變動,可多寫
 
}

2.若是一個頁面的多個圖表需要分別監(jiān)聽改變寬度的話用(可以一個一個寫)

window.addEventListener("resize",function(){
     myChart.resize();
});

3.若是要自適應(yīng)高度和寬度的話

  • 首先你的初始div 必須有初始的高度和寬度(因為echart繪制需要寬和高)
  • 需要寫一個JavaScript方法去獲取你當(dāng)前div 的高度和寬度;
  • 然后通過監(jiān)聽事件去監(jiān)聽你當(dāng)前高度和寬度的變化

例如:

// es5
function fn(){//用于使chart自適應(yīng)高度和寬度,通過窗體高寬計算容器高寬
    //var height=$("#divID").height()
    //或
    var height=document.getElementById("divID").offsetHeight
    var width=document.getElementById("divID").offsetWidth
};
 
fn ();//設(shè)置容器高寬
 
//窗口大小發(fā)生了變化,代碼:
//方法1
window.onresize = function () {//用于使chart自適的方法  
    fn ();//重置容器高寬
    myChart.resize();
}
 
//方法2
window.addEventListener("resize",function(){   //監(jiān)聽
    fn ();//重置容器高寬
    myChart.resize();
})

附:echart多圖表切換時圖表寬度變成100px,而不是100%

現(xiàn)頁面中有如下圖表需要顯示

現(xiàn)我希望頁面在進(jìn)行縮放的時候,圖表大小也跟著變。首先想到的就是寬度設(shè)置為100%,但是當(dāng)我在“總計”,“加分”,“扣分”之前切換時,發(fā)現(xiàn)圖表寬度變成了100px(如果你設(shè)置的寬度是固定大小的,比如500px,那就不會有這個問題),這是echart本身的原因。那么如何解決圖表自適應(yīng)問題呢,現(xiàn)在有如下代碼(只展示了主要的部分代碼)

<!--圖表容器-->
<div class="tab-pane active" id="total">
    <!-- 總計容器 -->
    <div id="total_chart" style="width: 100%;height:518px;"></div>
</div>
<div class="tab-pane" id="add">
    <!-- 加分容器 -->
    <div id="add_chart" style="width: 100%;height:518px;"></div>
</div>
<div class="tab-pane" id="deduction">
    <!-- 扣分容器 -->
    <div id="deduction_chart" style="width: 100%;height:518px;"></div>
</div>
<script>
    $.get('請求的url', function (response) {
            var total_id = "total_chart";
            var add_id = "add_chart";
            var deduction_id = "deduction_chart";
            // 總計表
            chart(total_id);
            // 加分表
            chart(add_id);
            // 扣分表
            chart(deduction_id);
        }, 'json')
    function chart(chart_id) {
        var myChart = echarts.init(document.getElementById(chart_id));
        var myOption;
        // 省略大部分代碼
        // 使用制定的配置項和數(shù)據(jù)顯示圖表
        myChart.setOption(myOption);
        // 監(jiān)聽點擊事件
        window.addEventListener("click", function () {
            myChart.resize();
        });
        // 監(jiān)聽瀏覽器頁面縮放事件
        window.addEventListener("resize", function () {
            myChart.resize();
        });
    }
</script>

echart中的chart.resize()就可以實現(xiàn),所以我們需要做的就是如何在頁面進(jìn)行縮放或者切換tab時,觸發(fā)這個resize()操作呢?注意上面代碼中的兩個事件監(jiān)聽。

第一個是監(jiān)聽點擊操作。只要你切換頁面中的“總計”,“加分”,“扣分”,那么就會觸發(fā)myChart.resize(),這樣圖表的大小就會發(fā)生改變,因為我們設(shè)置width是100%,所以它就會根據(jù)當(dāng)前圖表容器來進(jìn)行變化。

第二個是頁面縮放事件,道理和點擊是一樣的。建議兩個都寫,這樣無論是你切換tab,還是頁面縮放,圖表大小都會跟著變化的。

總結(jié)

到此這篇關(guān)于echart自適應(yīng)寬度的文章就介紹到這了,更多相關(guān)echart自適應(yīng)寬度內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mui 打開新窗口的方式總結(jié)及注意事項

    mui 打開新窗口的方式總結(jié)及注意事項

    這篇文章主要介紹了mui 打開新窗口的方式總結(jié)及注意事項,需要的朋友可以參考下
    2017-08-08
  • 微信小程序開發(fā)之轉(zhuǎn)發(fā)分享功能

    微信小程序開發(fā)之轉(zhuǎn)發(fā)分享功能

    這篇文章主要介紹了微信小程序開發(fā)之轉(zhuǎn)發(fā)分享功能的實現(xiàn),本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • js實現(xiàn)下拉菜單效果

    js實現(xiàn)下拉菜單效果

    本文主要介紹了js實現(xiàn)下拉菜單效果的實例,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-03-03
  • 淺談js算法和流程控制

    淺談js算法和流程控制

    代碼整體結(jié)構(gòu)是執(zhí)行速度的決定因素之一,代碼量少不一定運行速度快,代碼量多也不一定運行速度慢。本篇文章將對js的算法和流程控制進(jìn)行介紹,下面跟著小編一起來看下吧
    2016-12-12
  • 用JavaScript做一個簡易計算器的三種方法舉例

    用JavaScript做一個簡易計算器的三種方法舉例

    這篇文章主要給大家介紹了關(guān)于用JavaScript做一個簡易計算器的三種方法,JS中實現(xiàn)一個簡單的計算器并不困難,我們只需利用基本的數(shù)學(xué)運算符和JavaScript的語法即可,需要的朋友可以參考下
    2023-10-10
  • 微信小程序?qū)崿F(xiàn)3D輪播圖效果(非swiper組件)

    微信小程序?qū)崿F(xiàn)3D輪播圖效果(非swiper組件)

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)3D輪播圖效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • 生成無限制的微信小程序碼的示例代碼

    生成無限制的微信小程序碼的示例代碼

    這篇文章主要介紹了生成無限制的微信小程序碼的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 關(guān)于js注冊事件的常用方法

    關(guān)于js注冊事件的常用方法

    為了兼容各種瀏覽器,今天沒事特意復(fù)習(xí)了一下js原生事件特性,對其封裝一下。
    2013-04-04
  • 如何基于小程序?qū)崿F(xiàn)發(fā)送語音消息及轉(zhuǎn)文字功能

    如何基于小程序?qū)崿F(xiàn)發(fā)送語音消息及轉(zhuǎn)文字功能

    最近為小程序增加語音識別轉(zhuǎn)文字的功能,坑路不斷,特此記錄,下面這篇文章主要給大家介紹了關(guān)于如何基于小程序?qū)崿F(xiàn)發(fā)送語音消息及轉(zhuǎn)文字功能的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • 微信小程序 引入es6 promise

    微信小程序 引入es6 promise

    本篇文章主要介紹了微信小程序引入es6 promise的相關(guān)知識。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-04-04

最新評論