- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个DataMaps map ,它基于 D3.js(版本 3),我在其中添加了滚动缩放功能。唯一的问题是我还没有找到重置它的方法。
var reset = document.getElementById('reset-map');
var map = new Datamap({
element: document.getElementById('world-map'),
responsive: true,
});
map.svg.call(d3.behavior.zoom().on('zoom', function () {
reset.style.display = 'block';
map.svg.selectAll('g').attr('transform', 'translate(' + d3.event.translate + ')' + ' scale(' + d3.event.scale + ')')
}));
reset.addEventListener('click', function (e) {
e.preventDefault();
// TODO remove zoom
reset.style.display = 'none';
} );
找到了这两个,但我不知道如何将其应用到我的案例中,你能帮忙吗?
非常感谢!
最佳答案
试试这个:
var zoom = d3.behavior.zoom().on('zoom', function () {...});
map.svg.call(zoom);
重置时(这是 V4 代码,不确定是否适用于 V3):
var transform = d3.zoomIdentity.translate(0, 0).scale(1);
map.svg.call(zoom.transform, transform);
请告诉我们它是否适合您
关于javascript - DataMap/D3 - 如何重置缩放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57945423/
来做呢?
文章推荐: html - href 删除所有样式
作者热门文章
滴滴打车优惠券免费领取
|
我是一名优秀的程序员,十分优秀!