143、angular1与echarts关联(onmovemouse出现新图片)
时间:2019-10-11
本文章向大家介绍143、angular1与echarts关联(onmovemouse出现新图片),主要包括143、angular1与echarts关联(onmovemouse出现新图片)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
angular1与echarts关联(onmovemouse出现新图片)
<!DOCTYPE html> <html lang="en" ng-app="myModel"> <head> <meta charset="UTF-8"> <title>select</title> <script src="https://cdn.bootcss.com/echarts/3.7.1/echarts.js"></script> <script src="https://cdn.bootcss.com/jquery/1.9.1/jquery.js"></script> <script src="https://cdn.bootcss.com/angular.js/1.6.2/angular.js"></script> </head> <body> <div ng-controller="firstCtrl"> <div style="width:100%;display:flex;"> <div style="width:50%;display:flex;flex-direction:column;" id="left"> </div> <div style="width:50%;display:flex;flex-direction:column;" id="right"> </div> </div> </div> </body> </html> <script> var app = angular.module('myModel', []); app.controller('firstCtrl', function ($scope,$compile,$rootScope) { var array = [0, 0, 0, 0]; angular.element('#left').empty(); for (var j = 0; j < array.length; j++) { angular.element('#left').append( $compile(angular.element('<div id="left' + j + '" style="width:100%;height:200px;"> <div>'))(angular.extend($rootScope.$new())) ); eval('var totalFlowRate' + j + '= echarts.init(document.getElementById("left' + j + '"))'); } var xAxisData = []; var yAxisData = []; for (var i = 100; i > 0; i--) { xAxisData.push(i + '秒前'); } for (i = 1; i < 101; i++) { yAxisData.push(Math.round(Math.random() * 1000)); } yAxisData.push(Math.round(Math.random() * 1000)); yAxisData.shift(); var fullOption = { backgroundColor: '#ffffff', animation: false, title: { bottom: '150px', text: '', textStyle: { fontWeight: 'lighter', fontSize: '14px' } }, tooltip: { trigger: 'axis', axisPointer: { type: 'cross' } }, grid: { left: 50, right: 15 }, legend: { /* data: ['当前流量'], textStyle: { color: '#66b3ff' } *//*图例(legend)说明文字的颜色 */ }, xAxis: { boundaryGap: false, data: xAxisData, splitLine: { show: true }/*网格线*/ }, yAxis: { boundaryGap: false, splitLine: { show: true }/*网格线*/ }, series: { /*itemStyle: {normal: {areaStyle: {type: 'default'}}},*/ itemStyle: { normal: { lineStyle: { color: '#92c2ff'/*折线的颜色*/ }, color: '#66b3ff'/*图例(legend)的颜色,不是图例说明文字的颜色*/ } }, areaStyle: { normal: { color: new echarts.graphic.LinearGradient( 0, 0, 0, 1, [ { offset: 0, color: '#66b3ff' }, { offset: 1, color: '#ecf5ff' } ] ) } }, symbol: 'none',/*去掉小圆点*/ name: '当前流量', type: 'line', data: yAxisData/*, smooth:true//显示为平滑的曲线*/ } }; //节流,无bug var title = ['总流量(kbps)1', '总流量(kbps)2', '总流量(kbps)3', '总流量(kbps)4', '总流量(kbps)5']; var throttle = function (delay, action) { var last = 0; return function () { var curr = +new Date(); if (curr - last > delay) { action.apply(this, arguments); last = curr; } }; }; var action = function () { var index = this.painterRoot.id.replace('left', ''); eval('fullOption' + index).backgroundColor = '#F6F8FC'; eval('totalFlowRate' + index).setOption(eval('fullOption' + index)); angular.element('#right').empty(); for (var j = 10; j < array.length + 11; j++) { angular.element('#right').append( $compile(angular.element('<div id="right' + j + '" style="width:100%;height:200px;"> <div>'))(angular.extend($rootScope.$new())) ); eval('var totalFlowRate' + j + '= echarts.init(document.getElementById("right' + j + '"))'); } //此处向后台发送请求:开始 $scope.sendserver = function () { for (var jj = 10; jj < array.length + 11; jj++) { eval('var fullOption' + jj + '=angular.copy(fullOption)'); eval('fullOption' + jj).title.text = title[jj - 10]; eval('fullOption' + jj).backgroundColor = '#F6F8FC'; eval('totalFlowRate' + jj).setOption(eval('fullOption' + jj)); } }; $scope.sendserver(); //此处向后台发送请求:结束 /* } */ }; var fn = throttle(200, action); for (var jj = 0; jj < array.length; jj++) { eval('var fullOption' + jj + '=angular.copy(fullOption)'); eval('fullOption' + jj + '.title.text = title[jj]'); eval('totalFlowRate' + jj).setOption(eval('fullOption' + jj)); eval('totalFlowRate' + jj).getZr().on('mousemove', fn); eval('totalFlowRate' + jj).getZr().on('mouseout', function () { var index = this.painterRoot.id.replace('left', ''); eval('fullOption' + index).backgroundColor = '#ffffff'; eval('totalFlowRate' + index).setOption(eval('fullOption' + index)); angular.element('#right').empty(); /* } */ }); } /* //节流,有bug var title = ['总流量(kbps)1', '总流量(kbps)2', '总流量(kbps)3', '总流量(kbps)4', '总流量(kbps)5']; var throttle = function (delay, action) { var last = 0; return function () { var curr = +new Date(); if (curr - last > delay) { action.apply(this, arguments); last = curr; } }; }; var action = function (params) { var pointInPixel = [params.offsetX, params.offsetY]; var index = this.painterRoot.id.replace('left', ''); if (eval('totalFlowRate' + index).containPixel('grid', pointInPixel)) { eval('fullOption' + index).backgroundColor = '#F6F8FC'; eval('totalFlowRate' + index).setOption(eval('fullOption' + index)); angular.element('#right').empty(); for (var j = 10; j < array.length + 11; j++) { angular.element('#right').append( $compile(angular.element('<div id="right' + j + '" style="width:100%;height:200px;"> <div>'))(angular.extend($rootScope.$new())) ); eval('var totalFlowRate' + j + '= echarts.init(document.getElementById("right' + j + '"))'); } //此处向后台发送请求:开始 $scope.sendserver = function () { for (var jj = 10; jj < array.length + 11; jj++) { eval('var fullOption' + jj + '=angular.copy(fullOption)'); eval('fullOption' + jj).title.text = title[jj - 10]; eval('fullOption' + jj).backgroundColor = '#F6F8FC'; eval('totalFlowRate' + jj).setOption(eval('fullOption' + jj)); } }; $scope.sendserver(); //此处向后台发送请求:结束 } }; var fn = throttle(200, action); for (var jj = 0; jj < array.length; jj++) { eval('var fullOption' + jj + '=angular.copy(fullOption)'); eval('fullOption' + jj + '.title.text = title[jj]'); eval('totalFlowRate' + jj).setOption(eval('fullOption' + jj)); eval('totalFlowRate' + jj).getZr().on('mousemove', fn); eval('totalFlowRate' + jj).getZr().on('mouseout', function (params) { var pointInPixel = [params.offsetX, params.offsetY]; var index = this.painterRoot.id.replace('left', ''); if (!eval('totalFlowRate' + index).containPixel('grid', pointInPixel)) { eval('fullOption' + index).backgroundColor = '#ffffff'; eval('totalFlowRate' + index).setOption(eval('fullOption' + index)); angular.element('#right').empty(); } }); } */ /* //不节流,有bug var title = ['总流量(kbps)1', '总流量(kbps)2', '总流量(kbps)3', '总流量(kbps)4', '总流量(kbps)5']; for (var jj = 0; jj < array.length; jj++) { eval('var fullOption' + jj + '=angular.copy(fullOption)'); eval('fullOption' + jj + '.title.text = title[jj]'); eval('totalFlowRate' + jj).setOption(eval('fullOption' + jj)); eval('totalFlowRate' + jj).getZr().on('mousemove', function (params) { var pointInPixel = [params.offsetX, params.offsetY]; var index = this.painterRoot.id.replace('left', ''); if (eval('totalFlowRate' + index).containPixel('grid', pointInPixel)) { eval('fullOption' + index).backgroundColor = '#F6F8FC'; eval('totalFlowRate' + index).setOption(eval('fullOption' + index)); angular.element('#right').empty(); for (var j = 10; j < array.length + 11; j++) { angular.element('#right').append( $compile(angular.element('<div id="right' + j + '" style="width:100%;height:200px;"> <div>'))(angular.extend($rootScope.$new())) ); eval('var totalFlowRate' + j + '= echarts.init(document.getElementById("right' + j + '"))'); } //此处向后台发送请求:开始 $scope.sendserver = function () { for (var jj = 10; jj < array.length + 11; jj++) { eval('var fullOption' + jj + '=angular.copy(fullOption)'); eval('fullOption' + jj).title.text = title[jj - 10]; eval('fullOption' + jj).backgroundColor = '#F6F8FC'; eval('totalFlowRate' + jj).setOption(eval('fullOption' + jj)); } }; $scope.sendserver(); //此处向后台发送请求:结束 } }); eval('totalFlowRate' + jj).getZr().on('mouseout', function (params) { var pointInPixel = [params.offsetX, params.offsetY]; var index = this.painterRoot.id.replace('left', ''); if (!eval('totalFlowRate' + index).containPixel('grid', pointInPixel)) { eval('fullOption' + index).backgroundColor = '#ffffff'; eval('totalFlowRate' + index).setOption(eval('fullOption' + index)); angular.element('#right').empty(); } }); } */ }); </script>
原文地址:https://www.cnblogs.com/gushixianqiancheng/p/11655193.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 详解Android studio 动态fragment的用法
- Java fastjson解析json字符串实现过程解析
- SpringMVC系列 MVC设计模式介绍+ SpringMVC的作用及其基本使用+组件解析+注解解析
- Spring系列之事务的控制 注解实现+xml实现+事务的隔离等级
- Greenplum集群扩容总结
- Leetcode刷题 237. 删除链表中的节点 两行代码实现
- Leetcode刷题 206. 反转链表 递归迭代两种方法实现
- MySQL索引和查询优化
- Elasticsearch:Index 生命周期管理入门
- springboot面试杀手锏-自动配置原理
- flink 1.11.2 学习笔记(1)-wordCount
- 我是如何开发维护8千多行代码组件的
- 我对JS延迟异步脚本的思考
- 大数据表查询优化 - 表分区
- 日志系统rsync和日志切割logrotate-Linux每日一练(9)