d3.js zoom 事件
d3.js zoom 事件
冷色系微风爱丶
d3.js v3 英文文档 https://github.com/d3/d3-3.x-api-reference/blob/master/Zoom-Behavior.md
d3.js v4 中文文档 https://d3js.org.cn/document/d3-zoom/#zoom-transforms
d3.behavior.zoom() 调用d3.js 的zoom 事件
var zoom = d3.behavior.zoom();
selection.call(zoom);
zoom.scaleExtent([extent]) 这个是鼠标缩放的距离 [0.001,10000]
zoom.scaleExtent([0.001, 10000])
zoom.on('zoomstart') zoom 事件执行前 只用过 鼠标变小手 但是有bug 在缩放的时候小手也变。
selection.on(".zoomstart", null);
zoom.on('zoom') 执行zoom 事件
selection.on(".zoom", null);
zoom.on('zoomend') zoom 事件执行后
selection.on(".zoomend", null);
_this.zoom.translate([100, 20]) zoom 事件 translate 默认位置 保持zoom事件 与 要执行zoom 事件元素的位置一致
zoom.translate([100, 20])
_this.zoom.scale([1]) 这个是 缩放 scale
zoom.scale([0.5])
要执行zoom 事件的元素 .call(zoom) 调用zoom 事件
selection
.call(zoom)
要执行zoom 事件的元素 .on('dblclick.zoom', null) 禁用双击放大
selection
.call(zoom)
.on("dblclick.zoom", null);
要执行zoom 事件的元素 .on('wheel.zoom', null) 单独将缩放的滚轮事件取消
selection
.call(zoom)
.on("wheel.zoom", null);
_this.zoom = d3.behavior.zoom().scaleExtent([0.001, 10000]).on('zoomstart', () => { // zoom 事件发生前 将变小手加给svg 而不是g g不接受事件d3.select('svg.svgTree').style('cursor', 'pointer')}).on('zoom', function() {_this.inner.attr('transform','translate(' + d3.event.translate + ')' +'scale(' + d3.event.scale + ')')}).on('zoomend', () => { // zoom 事件发生前d3.select('svg.svgTree').style('cursor', 'default')})_this.inner = d3.select('.tree').append('svg')
.attr('class', 'svgTree')
.call(_this.zoom)
.append('g')
.style('cursor', 'pointer')// .attr('transform', 'translate(' + 200 + ', ' + 20 + ')')
// _this.zoom.translate([200, 20])
.attr('transform', 'translate(' + _this.width / 3 + ', ' + _this.height / 8 + '), scale(' + 1 + ')')
_this.zoom.translate([_this.width / 3, _this.height / 8])
_this.zoom.scale([1])
d3.js zoom 事件相关推荐
- 【项目技术点总结之一】vue集成d3.js利用svg加载图片实现缩放拖拽功能
[项目技术点总结之一]vue集成d3.js利用svg加载图片实现缩放拖拽功能 前言 概述 技术介绍 实现过程 插件安装 引用组件 初始化组件 实现效果 简单理解 使用d3创建一个svg 在svg中提添 ...
- d3.js一个面积图的案例(包含brush与zoom)
d3.js 一个面积图的案例(包含brush与zoom) 参考链接:http://www.a4z.cn/pui/ant-admin.html#/simple-area-chart const rawD ...
- D3.js实现力导向图(Dray和Zoom)
今天遇到个问题就是把json(里面nodes和edges属性)文件通过D3.js展示出来,下午终于弄出来了,写篇博客记录一下. 先展示一下效果图: 放大后是这个效果: 什么是力导向图 D3.js官网: ...
- html树图制作,d3.js制作树结构图
一.运行效果 说明:使用鼠标滚轮放大缩小,点解节点可以收缩打开子节点,按住鼠标左键拖动可移动整体图形. 二.实现过程 1.编写html和css结构 .node { ursor: pointer; } ...
- 数据可视化利器D3.js教程 API
汇智网 http://xc.hubwiz.com/course/54fd40cfe564e50d50dcf284 D3.js 入门系列 - 选择元素和绑定数据 https://www.cnblogs. ...
- D3.js树图tree 组织机构分布图(基于vue)
@[TOC](D3.js树图tree 组织机构分布图(基于vue)) 背景 前段时间接到一个需求,仿照企业查查->企业族谱 使用d3画出企业关系树图.这也是本人第一次接触d3.js,总体来说就是 ...
- d3.js操作svg
最近有个需求需要用d3来操作svg文件实现svg的缩放及拖拽,同时可以在svg上打点,并对点位进行拖拽,记录下实现过程. d3版本用的是d3.v2.js 具体代码如下: /**svg拖拽和缩放*.sc ...
- 基于vue的组织架构树组件_Vue组件基于D3.js布局显示树
基于vue的组织架构树组件 Vue.D3.tree (Vue.D3.tree) Update documentationVue components to display graphics based ...
- 知识图谱可视化vue.js + d3.js
Github 前端 vue.js + d3.js. 需求 上部区域 展示所有的概念类别.以及画布内他们的个数 展示所有关系类别,以及画布内他们的个数 显示所有的概念场景(scenes 字段).关系场景 ...
最新文章
- js中的true,false盲点
- 山西五台警方通报“男子强拽女学生”:嫌疑人被刑拘
- Linux系统管理01
- IPO与上市的关系?
- js向服务器发送信息,Angularjs向服务器发送请求
- NGUI EventDelagate事件委托
- atoi函数_每日一道 LeetCode (50):字符串转换整数 (atoi)
- linux系统需要备份吗,准备好了吗?请备份你的Linux系统
- Anaconda安装Tensorflow环境
- hadoop--HDFS_DataNode工作机制
- ASV2011新功能逐个数
- 一文读懂-Impala
- MySQL常用系统表
- at()函数遍历图像
- 小米MAX Root,第三方REC,XP框架刷入
- 关于使用VS2015编译项目时出现LNK1112 module machine type 'x64' conflicts with target machine type 'X86'
- 应用程序操作word文件报“RPC服务器不可用,HRESULT:0x800706BA”
- idea 一次启动多服务配置
- 结合自己经历的一场机器人省赛浅谈如何学习单片机
- linux man命令如何翻页,Linux中man命令
热门文章
- android省市区 简书,中国省市区脚本
- 打开Dev c++出现could not open language file English.lng
- 无限互联iOS学习资料之UI高级(网络与多线程)视频教程
- OCR财务报表识别方案
- 谷歌给应届毕业生的八条建议
- 集美大学计算机主要学什么,集美大学计算机科学与技术专业课程教学大纲
- 【爬虫学习】Python登录微博并抓取微博热点信息
- 光缆旋转传输器/光纤滑环(LZ-M40X)在大型堆取料机上的应用
- 在Windows上安装Docker Toolbox
- VirtualBox 中运行 CentOS 7 鼠标切换