ECharts支持常规的鼠标事件类型 包括'click'、'dblclick'、'mousedown'、'mousemove'、'mouseup'、'mouseover'、'mouseout' 事件。大家根据需求替换就行。--V型知识库原创www.vxzsk.com
本章节重点介绍echarts饼图点击事件,实现步骤如下:
echarts饼图点击事件实例
1,新建静态页面demo.html,并引入echarts的js库,在这里我们引入的是网络地址
<script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/echarts-all-3.js"></script>
2,饼图容器html代码,只需一行html代码
<div id="container" style="height: 500px"></div>
饼图容器高度为500px,宽度默认,并且div的id号为container,在接下来初始化环形图的时候会用到。
3,javascript实现代码
<script type="text/javascript"> var dom = document.getElementById("container"); var myChart = echarts.init(dom); var app = {}; // 处理点击事件并且跳转到相应的开始 myChart.on('click', function (params) { alert(params.name); alert(params.componentType); if (params.componentType === 'series') { alert("点击事件"+params.seriesType); } //window.open('https://www.baidu.com/s?wd='); }); // // 处理点击事件并且跳转到相应的结束 var option = null; option = { title : { text: 'V型知识库用户访问来源', subtext: '纯属虚构', x:'center' }, tooltip : { trigger: 'item', formatter: "{a} <br/>{b} : {c} ({d}%)" }, legend: { orient: 'vertical', left: 'left', data: ['直接访问','邮件营销','联盟广告','视频广告','搜索引擎'] }, series : [ { name: '访问来源', type: 'pie', radius : '55%', center: ['50%', '60%'], data:[ {value:335, name:'直接访问'}, {value:310, name:'邮件营销'}, {value:234, name:'联盟广告'}, {value:135, name:'视频广告'}, {value:1548, name:'搜索引擎'} ], itemStyle: { normal: {label:{ show:true, formatter:'{b} : {c} ({d}%)' }, labelLine:{show:true}}, emphasis: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } } } ] }; if (option && typeof option === "object") { myChart.setOption(option, true); } </script>
注意上述js代码中的点击事件实现
// 处理点击事件并且跳转到相应的开始 myChart.on('click', function (params) { alert(params.name); alert(params.componentType); if (params.componentType === 'series') { alert("点击事件"+params.seriesType); } //window.open('https://www.baidu.com/s?wd='); }); // // 处理点击事件并且跳转到相应的结束
你也可以把上述点击事件的click类型换成mousedown等类型,此代码实现了点击部分弹出此部分的name属性值,请看下面效果
4,用浏览器打开demo.html,效果如下
如图所示,点击饼图,name属性值已经弹出来了。
5,demo.html完整代码
<!DOCTYPE html> <head> <meta charset="utf-8"> </head> <body > <div id="container" style="height: 500px"></div> <!-- V型知识库 www.vxzsk.com 原创 --> <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/echarts-all-3.js"></script> <script type="text/javascript"> var dom = document.getElementById("container"); var myChart = echarts.init(dom); var app = {}; // 处理点击事件并且跳转到相应的开始 myChart.on('click', function (params) { alert(params.name); alert(params.componentType); if (params.componentType === 'series') { alert("点击事件"+params.seriesType); } //window.open('https://www.baidu.com/s?wd='); }); // // 处理点击事件并且跳转到相应的结束 var option = null; option = { title : { text: 'V型知识库用户访问来源', subtext: '纯属虚构', x:'center' }, tooltip : { trigger: 'item', formatter: "{a} <br/>{b} : {c} ({d}%)" }, legend: { orient: 'vertical', left: 'left', data: ['直接访问','邮件营销','联盟广告','视频广告','搜索引擎'] }, series : [ { name: '访问来源', type: 'pie', radius : '55%', center: ['50%', '60%'], data:[ {value:335, name:'直接访问'}, {value:310, name:'邮件营销'}, {value:234, name:'联盟广告'}, {value:135, name:'视频广告'}, {value:1548, name:'搜索引擎'} ], itemStyle: { normal: {label:{ show:true, formatter:'{b} : {c} ({d}%)' }, labelLine:{show:true}}, emphasis: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } } } ] }; if (option && typeof option === "object") { myChart.setOption(option, true); } </script> </body> </html>
此文章本站原创,地址 https://www.vxzsk.com/1117.html
转载请注明出处!谢谢!
感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程
上一篇:echarts 饼图显示数据
下一篇:echarts 饼图颜色设置并显示数值百分比
^