zoukankan      html  css  js  c++  java
  • echart自定义浮窗 增加点击事件

    一:情景

    做一个柱状图,需要在柱状图显示lable,并且浮窗上每个条目可以被点击或者跳转。

    我使用的做图插件是echarts,但是echart的浮窗是图片,而且不可以被点击,不能识别html,而且这个需求在2017年就提给官方,而官方并没有实现这个需求。因为项目做到一半,不更换,highchart虽然提供了类似解决方案,但是布局不满足需求。

    二:解决方案:

    通过heighchart的实现方式,就是通过自定义的浮窗来实现这个功能,于是我查找echarts官方文档是否提供每个柱状图的具体相对图形的坐标API,幸好echart提供了这个API

        var model = myChart.getModel();
                    var seriesModel = model.getSeriesByIndex(0);
                    var data = seriesModel.getData();
                    var dataPostion=[];
                    data.each(function (idx) {
                        var layout = data.getItemLayout(idx);
                        // console.log(layout);
                        dataPostion.push({x:layout.x,y:layout.y});
    
                    })

     1、首先我们渲染出图。然后获取model

    var model = myChart.getModel();

    2、获取echart的所有相关数据

    var data = seriesModel.getData();

    3、通过遍历我们获取对应的坐标信息。

    var layout = data.getItemLayout(idx);

    4、layout就有我们的对应的柱状图的相对当前图的坐标信息。

    x:layout.x,y:layout.y

     5、我们可以根据对应的坐标,通过css的postion来实际定位每个浮窗位置。同时我们可以给浮窗加任意你想要做的事件。

  • 相关阅读:
    linux-01-04(创建文件夹mkdir,进入目录命令cd,创建文件命令 echo cp vim touch等,批量创建文件操作)
    linux-05(tar命令的使用)
    linux-06(移动命令mv)
    linux-07(复制命令cp)
    linux-08(查看命令历史记录history)
    cookie
    vue-router路由懒加载
    setTimeout async promise执行顺序总结
    forEach陷阱
    函数节流与函数防抖之间的区别
  • 原文地址:https://www.cnblogs.com/evilliu/p/10748849.html
Copyright © 2011-2022 走看看