D3.js(三):交互

本文详细介绍了D3.js中的拖拽(d3-drag)和缩放(d3-zoom)功能,包括d3.drag()、drag.container()、drag.subject()等方法的使用,以及拖拽事件和缩放行为的实现。通过实例展示了如何在力导向图、SVG和Canvas中实现交互效果。
摘要由CSDN通过智能技术生成

d3-drag

Drag-and-drop 是一种易学流行的交互手势:将指针指向目标对象,按下并且拖动它到一个新的位置,然后释放。D3 的 drag 提供了方便灵活并且抽象的拖拽交互。

例子 🌰:

◎ d3.drag()

创建一个新的拖拽行为并返回自身。drag 既是一个对象,也是一个函数,通常通过 selection.call 被应用在选中的元素上。

var drag = d3.drag(); 
◎ drag(selection)

将拖拽应用到指定的 selection。通常不用这个方法来应用拖拽,而是通过 selection.call。例如,将拖拽实例应用到一个选择集上:

d3.selectAll(".node").call(d3.drag().on("start", started));

在内部拖拽行为使用 selection.on 将拖拽必需的事件绑定到元素上,事件名称都带有 .drag,因此可以使用这个特殊的事件名来解绑拖拽事件:

selection.on(".drag", null);
◎ drag.container([container])

如果指定了 container,则将拖拽行为的容器访问器设置为指定的对象或方法。如果没有指定 container,则返回当前的容器访问器,默认为:

function container() {
   
  return this.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值