我们上一节介绍了echarts鼠标事件的处理 ,本节主要介绍通过代码实现点击事件demo.
1,新建demo.html,引入echarts3.0的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 = {}; var option = null; app.title = '坐标轴刻度与标签对齐'; // 处理点击事件并且跳转到相应的结束 myChart.on('click', function (params) { alert(params.componentType); if (params.componentType === 'series') { alert("点击事件"+params.seriesType); } //window.open('https://www.baidu.com/s?wd='); }); // 处理点击事件并且跳转到相应的百度搜索页面 option = { color: ['#3398DB'], tooltip : { trigger: 'axis', axisPointer : { // 坐标轴指示器,坐标轴触发有效 type : 'shadow' // 默认为直线,可选为:'line' | 'shadow' } }, grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true }, xAxis : [ { type : 'category', data : ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], axisTick: { alignWithLabel: true } } ], yAxis : [ { type : 'value' } ], series : [ { name:'直接访问', type:'bar', barWidth: '60%', data:[10, 52, 200, 334, 390, 330, 220], itemStyle: { normal: { color: function(params) { // build a color map as your need. var colorList = [ '#C1232B','#B5C334','#FCCE10','#E87C25','#27727B', '#FE8463','#9BCA63' ]; return colorList[params.dataIndex] } } }, label:{ normal:{ show: true, position: 'top'} } } ] }; if (option && typeof option === "object") { myChart.setOption(option, true); } </script>
如上述代码,其实点击实现的代码为
myChart.on('click', function (params) { alert(params.componentType); if (params.componentType === 'series') { alert("点击事件"+params.seriesType); } //window.open('https://www.baidu.com/s?wd='); });
本案例基于柱状图实现,所以弹出的点击类型为bar
4,效果如下
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 = {}; var option = null; app.title = '坐标轴刻度与标签对齐'; // 处理点击事件并且跳转到相应的结束 myChart.on('click', function (params) { alert(params.componentType); if (params.componentType === 'series') { alert("点击事件"+params.seriesType); } //window.open('https://www.baidu.com/s?wd='); }); // 处理点击事件并且跳转到相应的百度搜索页面 option = { color: ['#3398DB'], tooltip : { trigger: 'axis', axisPointer : { // 坐标轴指示器,坐标轴触发有效 type : 'shadow' // 默认为直线,可选为:'line' | 'shadow' } }, grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true }, xAxis : [ { type : 'category', data : ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], axisTick: { alignWithLabel: true } } ], yAxis : [ { type : 'value' } ], series : [ { name:'直接访问', type:'bar', barWidth: '60%', data:[10, 52, 200, 334, 390, 330, 220], itemStyle: { normal: { color: function(params) { // build a color map as your need. var colorList = [ '#C1232B','#B5C334','#FCCE10','#E87C25','#27727B', '#FE8463','#9BCA63' ]; return colorList[params.dataIndex] } } }, label:{ normal:{ show: true, position: 'top'} } } ] }; if (option && typeof option === "object") { myChart.setOption(option, true); } </script> </body> </html>
直接复制上述代码,就能运行此案例。
此文章本站原创,地址 https://www.vxzsk.com/264.html
转载请注明出处!谢谢!
感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程