- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了 D3 拖动行为的“口吃”。
似乎是与"Stuttering" drag when using d3.behavior.drag() and transform 类似的问题
但是,该解决方案似乎不适用于缩放行为。
这是问题的一个示例:(尝试拖动矩形)
http://jsfiddle.net/EMNGq/109/
blocks = [
{ x: 0, y: 0 }
];
var translate_var = [0,0];
zoom_var = d3.behavior.zoom()
.on("zoom", function(d) {
d.x = d3.event.x;
d.y = d3.event.y;
draw();
});
svg = d3.select("body")
.append("svg:svg")
.attr("width", 600)
.attr("height", 600);
function draw() {
g = svg.selectAll("g")
.data(blocks);
gEnter = g.enter().append("g")
.call(zoom_var);
g.attr("transform", function(d) { return "translate("+translate_var[0]+","+translate_var[1]+")"; });
gEnter.append("rect")
.attr("height", 100)
.attr("width", 100);
}
draw()
最佳答案
您放大或拖动元素,然后平移相同的元素。因为翻译是相对的,所以导致了这种口吃。
如 documentation for Zoom Behavior 中所述:
This behavior automatically creates event listeners to handle zooming and panning gestures on a container element. Both mouse and touch events are supported.
This behavior automatically creates event listeners to handle drag gestures on an element. Both mouse events and touch events are supported.
svg = d3.select("body")
.append("svg:svg")
.attr("width", 600)
.attr("height", 600)
.call(zoom_var);
scale
给您的
transform
规则。这是
demo with zoom enabled .
关于d3.js - D3变焦平移口吃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29770922/
我正在开发包括 GoogleMaps 在内的 iOS 应用程序。GoogleMaps SDK for iOS 的实现过程已经完成。 但是我想知道如何计算GMSCamera zoom用于在 map 上显
我在将具有缩放行为的 D3 示例从 v3 转换为 v5 时遇到问题。我的代码基于此示例:https://bl.ocks.org/mbostock/2206340迈克博斯托克。我使用 React,我得到
我是一名优秀的程序员,十分优秀!