D3在鼠标上沿路径移动圆平移X轴上的直线时移动中断
D3 move circle along path on mousemove breaks when translating line on X axis
我有以下plunkr:http://plnkr.co/edit/FLSz6swyiDuNchTYo2Xf?p=preview
在plunkr中,你会看到我正试图构建一个具有1+条路径/线的图,在鼠标移动时,我正在这些路径/线上移动一些圆元素。为了适应X和Y轴,我需要一些余量。当我平移X上的路径/线,为X轴腾出空间时,沿着路径/线移动的圆不再遵循正确的路径。
行被直接添加到svg元素中,它们的定义如下:
var line = d3.svg.line()
.x(function (d, i) {
//return margin.left + xScale(i);
return xScale(i);
})
.y(function (d) {
return margin.top + yScale(d);
// return yScale(d);
})
.interpolate("cardinal");
有人知道为什么吗?
而不是
var lines = svg.selectAll(".gLine")
...
您想将行添加到您创建并(正确)翻译的组中:
var lines = lineGroup.selectAll(".gLine")
同样,您需要将圆移动到一个翻译组中:
var circles = lineGroup.selectAll("circle")
这可以"重用"lineGroup
,也可以创建一个"circleGroup"。
这将修复表示,但捕获的鼠标坐标仍将偏移。一种解决方法是调整捕捉到的鼠标位置的x:
mouseUnderlay.on("mousemove", function () {
var x = d3.mouse(this)[0] - margin.left;
在这里它正在工作
相关文章:
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- FabricJs-限制主对象内添加对象的移动区域
- 如何从画布上的某个移动事件中获取X和Y
- 触摸移动时切换到新元素
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 停止jQuery UI滑块移动超过给定值
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- 高亮显示与数组字符串一起使用时文本插件中断
- AngularJS代码在一个代码笔中工作,但在移动时会中断
- 为什么这个JQuery代码会在移动设备上中断
- 使用弹出模式中断k-pager-nav以确认/拒绝移动到新页面
- 触摸事件因 Chrome 移动模拟器中的 ReactJS 升级而中断
- 整页.js - 设置响应宽度和滚动溢出在移动设备上中断页面
- D3在鼠标上沿路径移动圆平移X轴上的直线时移动中断
- AngularJS移动ui-view会中断渲染
- 使用append()移动对象后,jQuery侦听器目标似乎中断了
- KnockOut绑定在移动DOM元素后中断