• 实现逻辑:

1.通过鼠标摁下事件  和弹出事件  获取x轴的index  之后去x轴的list中去获取两个坐标点

2.之后将这两个数据作为参数  传到后台更新数据

3.记录下来这两个坐标点 放到list中  在前台提供向前一步和向后一步的按钮  实现回退功能

4.需要注意的是:需要在myChart初始话之后再添加事件还有就是避免重复添加事件  只在mychart第一次初始化的时候才给他添加鼠标点击事件  否则会导致加载很多个事件

  •  angular代码:

       

    myChart.setOption(option,true);
if(flag==){
flag++;
console.log("点击事件加载") var x_start;
myChart.getZr().on('mousedown',function(params){
const pointInPixel= [params.offsetX, params.offsetY];
    if (myChart.containPixel('grid',pointInPixel)) {
    var pointInGrid=myChart.convertFromPixel({seriesIndex:},pointInPixel);
var xIndex=pointInGrid[]; 
x_start= Math.round(option.series[].data[xIndex*][]);
console.log("进入鼠标点击",xIndex);
console.log("进入鼠标点击",option.series[].data[xIndex*][]); }
});
myChart.getZr().on('mouseup',function(params){
const pointInPixel= [params.offsetX, params.offsetY];
    if (myChart.containPixel('grid',pointInPixel)) {
    var pointInGrid=myChart.convertFromPixel({seriesIndex:},pointInPixel);
var xIndex=pointInGrid[]; 
if(parseInt(x_start)<parseInt( Math.round(option.series[].data[xIndex*][]))){
$scope.depth_start = x_start;
$scope.depth_end = Math.round(option.series[].data[xIndex*][]);
}else{
$scope.depth_end= x_start;
$scope.depth_start = Math.round(option.series[].data[xIndex*][]);
}
var a={
'depth_start': $scope.depth_start,
'depth_end':$scope.depth_end
};
$scope.depth_data.push(a)
$scope.index+=;
if($scope.depth_data.length==){
$scope.depth_data_Judge=;
}else{
$scope.depth_data_Judge=;
}
$scope.createChart(); }
});
}
});

angular 实现 echarts 拖动区域进行放大 方法的更多相关文章

  1. js实现移动端图片预览:手势缩放, 手势拖动,双击放大...

    .katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...

  2. 图片放大方法、、菜单栏的位置随滚轮移动固定方法、、<a></a>去外层虚线方法:a:focus { outline:none; -moz-outline:none;};

    图片放大方法一: <style type="text/css">.xt{ width:230px; height:230px;}.tp{ width:230px; he ...

  3. Angular.js中处理页面闪烁的方法详解

    Angular.js中处理页面闪烁的方法详解 前言 大家在使用{{}}绑定数据的时候,页面加载会出现满屏尽是{{xxx}}的情况.数据还没响应,但页面已经渲染了.这是因为浏览器和angularjs渲染 ...

  4. echarts数据区域缩放(鼠标滚轮、滚动条、拉选框)

    当一个echarts图表上的数据很多时,想要查看部分区域的数据状态,可以通过数据区域缩放来实现,现总结三个方法: 鼠标滚轮缩放: var arr = []; for(var i = 0;i<15 ...

  5. angular引用echarts插件

    方法一 1. 命令行下载 npm install echarts --savenpm install ngx-echarts --save 2. angular.json 配置echarts路径. 2 ...

  6. Echarts 多曲线“断点”问题解决方法

    Echarts 用来做可视化曲线是非常优秀的一个库.建议使用 Echarts 作为项目的可视化图标库时,仔细研究 官方实例,根据需求来选择类似的示例,下载实例模板来开发,节省时间,减少出错,提高效率. ...

  7. angular结合echarts创建图表

    原理: 利用angularjs中的指令(directive)将echarts封装. 步骤: 1.封装函数: app.directive('line', function() { return { re ...

  8. Angular页面传参的四种方法

    1. 基于ui-router的页面跳转传参 (1)在Angular的app.js中用ui-route定义路由,比如有两个页面, 一个页面(producers.html)放置了多个producers,点 ...

  9. 【转】C# 控件的自定义拖动、改变大小方法

    在用VS的窗体设计器时,我们可以发现控件都是可以拖动的,并且还可以调整大小.怎么在自己的程序中可以使用上述功能呢? 下面的方法值得借鉴! using System; using System.Wind ...

随机推荐

  1. K8s快速入门

    在k8s中所有的内容都抽象为资源,资源实例化之后,叫做对象.一般使用yaml格式的文件来创建符合我们预期期望的pod,这样的yaml文件我们一般称为资源清单 资源清单的格式: apiVersion: ...

  2. 好用的截图picpick工具,无需注册,无需破解

    链接:https://pan.baidu.com/s/1KtgF2wPdbRXAAenvrPiPzA 提取码:vasu

  3. Bootstrap col-md

    col-md  将中等屏幕分成12份, 所占的比列 offest 补偿,向左偏移 push 从左侧往右侧推8列 pull  往左侧拉2列

  4. python,ModuleNotFoundError,is not a package

    Traceback (most recent call last): File "/home/lll/zzz/work/video/zzz/generate.py", line 7 ...

  5. Linux localtime_r调用的一个小问题

    我们一个项目中有如下代码: time_t loc_time; loc_time = time(NULL); localtime_r(&loc_time,&ptr); 这段代码本意是获取 ...

  6. html页面通过http访问mysql数据库中的内容,实现用户登录的功能

    需求: 通过html编写用户登录页面,页面内容包括用户名.密码和登录按钮,点击登录后访问login.php文件,使用按钮默认的submit提交用户名和密码,在login.php中访问mysql数据库, ...

  7. jQuery-UI的使用

    使用效果图: 源码: <!DOCTYPE html><html lang="en"><head> <meta charset=" ...

  8. python经典案例

    前言:初学者对python的流程语句有一定的了解,但是运用起来总会磕磕碰碰.本文总结了一些初学者在学习python时做的经典案例 一.名片管理系统(限单个名片) info = {'name':'jam ...

  9. Java简单操作dubbo(一)

    dubbo-service公共Service package com.itman.service; public interface UserService { // 提供服务 使用userId查找用 ...

  10. antd-react-mobile(踩坑记录)

    1.按照官网步骤进行, $ npm install -g create-react-app # 注意:工具会自动初始化一个脚手架并安装 React 项目的各种必要依赖,如果在过程中出现网络问题,请尝试 ...