我使用$ .get通过AJAX加载D3图表。它抓取HTML和脚本标记将其插入页面并运行JS。
除D3 Tip功能外,一切都按预期工作。
有关如何解决此问题的任何想法?
var tip = d3.tip()
.attr('class', 'd3-tip')
.offset([-10, 0])
.html(function(d) {
return "<b>" + d.value + "</b> - " + (Math.round( d.count / total * 100)) + "%";
});
var svg = d3.select("#histogram").append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
svg.call(tip);
var bar = svg.selectAll(".bar")
.data(data)
.enter().append("g")
.attr("class", "bar")
<?php if($timeline == 'manual') : ?>
.attr("transform", function(d) { return "translate(" + x(d.value) + ", 0)"; })
<?php else: ?>
.attr("transform", function(d) { return "translate(" + (x(d.value) - (bar_width / 2)) + ", 0)"; })
<?php endif; ?>
.on('mouseover', tip.show)
.on('mouseout', tip.hide);\
注意:我做了一些测试,并且正在调用.on('mouseover')
函数,因此它tip.show
无法正常工作。