【发布时间】:2014-01-20 00:45:44
【问题描述】:
我正在尝试使我的地图具有响应性,因此它会根据浏览器窗口的大小进行调整。这是我目前所拥有的,
style.css
#mapbox {
border:2px solid #000;
width:960px;
height:550px;
background:#FFFFFF;
}
即.js
var margin = {top: 10, left: 10, bottom: 10, right: 10},
width = parseInt(d3.select('#mapbox').style('width')),
width = width - margin.left - margin.right,
mapRatio = .5,
height = width * mapRatio;
.
.
d3.select(window).on('resize', resize);
.
.
function resize(){
width = parseInt(d3.select('#mapbox').style('width'));
width = width - margin.left - margin.right;
height = width * mapRatio;
projection.translate([width / 2, height / 2])
.scale(width);
svg.style('width', width + 'px')
.style('height', height + 'px');
}
当我调整窗口大小时,它仍然为我的 svg 容器保持相同的宽度和高度。我猜那是因为,在调整大小函数中,我从 CSS 中获取宽度和高度,无论我调整窗口大小是否正确?
我被困在这里,我错过了什么明显的东西吗?如果您有任何建议让我完成这项工作,那就太好了。
我非常关注以下example,
【问题讨论】:
-
你见过this question吗?
标签: d3.js