0

我正在使用许多 D3持续时间直方图,每个都有不同的持续时间。我想将每个条表示的时间范围的开始时间绑定到每个条的 HTML 中的一个 div id。这些信息将通过 jQuery 访问。

例如,00:10 有一个酒吧。我想在酒吧的 div 中添加“00:10”。

我想不通的是如何把握这些时间。关于如何做到这一点的任何建议?

4

1 回答 1

2

要添加属性,只需使用selection.attr()例如:

bar.append("rect")
    .attr("x", 1)
    .attr("width", x(data[0].dx) - 1)
    .attr("height", function(d) { return height - y(d.y); })
    .attr("data-time", function(d){return formatMinutes(d.x)})

但是,如果您只是想通过点击访问 API,请查看 d3 的selection.on()

bar.append("rect")
    .attr("x", 1)
    .attr("width", x(data[0].dx) - 1)
    .attr("height", function(d) { return height - y(d.y); })
    .on("click", function(d){ 
        accessAPI(formatMinutes(d.x))
    })

例如。http://jsfiddle.net/3saQW/

我建议了解 d3.js 如何绑定数据。甚至可能不需要 jQuery。这是一个很好的教程系列:http ://alignedleft.com/tutorials/d3/binding-data/

于 2013-04-09T04:40:30.883 回答