• js控制echarts显示,隐藏后不能自适应


    在我们开发过程中,根据项目需求,需要将echarts图表先隐藏,然后点击按钮让它再显示出来。

    但是再显示时,图表出现了问题,它变得特别小,根本不能用

    原因:Echarts 图表是根据你定义的div 的样式来确定图表的大小,当图表隐藏时,Echarts会找不到div的宽和高,再次显示时它会给自己一个非常小的默认宽高值,所以在隐藏显示后会发现它变得非常非常的小。

    解决办法:

    1.在完成绘画echarts后添加代码:$(window).resize(myChart.resize);

      var dom = document.getElementById("jindu");
    var myChart = echarts.init(dom);
    option = {
     ......
    }
    myChart.setOption(option);
    $(window).resize(myChart.resize);

    2.在图表要显示的地方添加代码:$(window).trigger(‘resize');【(gmFlag 定义在全局,渲染的数据图表的方法加 gmFlag = 1;】

    if(gmFlag == 1){
       $(".allscore").show(); 
       $(window).trigger('resize');
    }

    这样来回切换的时候图表的大小就不会改变了,如图

    附上完整代码:

    // 图表
    var myChart = echarts.init(document.getElementById('sale-chart'));
    myChart.setOption({
        color: ['#3398DB'],
        toolbox: {
            right: 15,
            feature: {
                magicType: {
                    type: ['line', 'bar']
                }
            }
        },
        tooltip: {
            trigger: 'axis',
            axisPointer: {
                type: 'shadow'
            },
            formatter: '{b}<br />{c}辆'
        },
        grid: {
            left: '3%',
            right: '4%',
            bottom: '3%',
            containLabel: true
        },
        dataset: {
            source: []
        },
        xAxis: [{
            type: 'category',
            axisTick: {
                alignWithLabel: true
            },
            axisLine: {
                show: false
            },
            axisLabel: {
                fontSize: 10,
                color: '#8e8e8e'
            },
            axisTick: {
                show: false
            },
            data: []
        }],
        yAxis: [{
            type: 'value',
            nameTextStyle: {
                fontSize: 10
            },
            axisLine: {
                show: false
            },
            splitLine: {
                show: false,
                lineStyle: {
                    color: ['rgba(100,100,100,0.1)']
                }
            },
            axisTick: {
                show: false
            },
            axisLabel: {
                show: false
            }
        }],
        series: [{
            name: '销量',
            type: 'bar',
            barWidth: '30%',
            label: {
                show: true,
                position: 'top',
                color: '#8e8e8e'
            },
            itemStyle: {
                emphasis: {
                    barBorderRadius: 100
                },
                normal: {
                    barBorderRadius: 100,
                    color: new echarts.graphic.LinearGradient(
                        0, 1, 0, 0, [{
                                offset: 0,
                                color: '#007eff'
                            },
                            {
                                offset: 1,
                                color: '#00adff'
                            }
                        ]
                    )
                }
            },
            data: []
        }]
    });
    $(window).resize(myChart.resize);
    var gmFlag = 0;
    
    function showCategory(type, obj) {
        if (type == 'cx') {
            $(".switch-btn,.model-list-wrap").show();
            $("#sale_wrap,#kb_wrap,#cjj_wrap,#by_wrap").hide();
            $('.category-items').removeClass('category-act');
            $(obj).addClass('category-act');
        } else {
            $('.category-items').removeClass('category-act');
            $(obj).addClass('category-act');
            $("#sale_wrap").show();
            // 图表
            if (gmFlag == 1) {
                $("#sale-chart").show();
                $(window).trigger('resize');
            }
            $(".switch-btn,.model-list-wrap,#kb_wrap,#cjj_wrap,#by_wrap").hide();
    
        } 
    }

    参考链接:https://www.jb51.net/article/191133.htm

  • 相关阅读:
    svn鉴权方法
    我收藏的技术网站
    linux下apache+svn的安装
    svn安装失败解决方法
    编译器扩展deprecated
    svn静态库依赖关系
    Linux用户和组
    boost之简介、编译、安装和使用
    svn数据库认证方法
    svn版本库目录结构
  • 原文地址:https://www.cnblogs.com/cyhsmile/p/14188060.html
Copyright © 2020-2023  润新知