0
我正在尝试设置监听器来更改图表的宽度与jQuery,当窗口宽度变化响应的行为:D3.js图表
// Get width of parent div with jQuery
var widthContainer = $(".chart").parent().width();
//set margins
// margin conventions https://bl.ocks.org/mbostock/3019563
var margin = {top: 0, right: 0, bottom: 30, left: 40};
var width = widthContainer - margin.left - margin.right;
var height = 211 - margin.top - margin.bottom;
// set chart dimensions
var chart = d3.select(".chart")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
// listener
function changeWidth(){
widthContainer = $(".chart").parent().width();
width = widthContainer - margin.left - margin.right;
}
$(window).resize(function(){
changeWidth();
console.log(widthContainer);
});
的changeWidth()
功能改变widthContainer
变量,但图表尺寸不改变。为什么?
这里是一个工作codepen(线13〜40): http://codepen.io/aitormendez/pen/LbRyWa?editors=0011
预先感谢您
Ok.Thank你的解释和代码。 – aitor
小修正(第243行):.attr('width',width + margin.left + margin.right); – aitor