如何获得d3js项目的绝对位置(顶部和左侧)?

时间:2015-06-03 08:02:11

标签: d3.js position

您好我想获取d3js节点或文本的位置,从其位置提交弹出窗口,谢谢。我有这个:

                                nodeEnter.append("a")
                                        .attr("xlink:href", function (d) {
                                            return d.path;
                                        })
                                        .style("text-decoration", "none")
                                        .style("display", function (d) {
                                           return (d.name == node_info.name && d.not_beneficially_held == "true") ? "block" : "none";
                                        })                                
                                        .append("text")
                                        .attr("x", function (d) {
                                            return (d == root) ? 17 : 15;
                                        })
                                        .attr("y", function (d) {
                                            return (d == root) ? 21 : 25;
                                        })
                                        .attr("text-anchor", function (d) {
                                            return d.children || d._children ? "end" : "start";
                                        })
                                        .text(function (d) {
                                            return "$";
                                        })
                                        .style("fill", function (d) {
                                            return "#4682b4";
                                        })
                                        .on('click', function (d) {
                                            action_click = true;                                       
                                            $('#popup_paid').fadeIn('slow');
                                            $('.popup-overlay').fadeIn('slow');
                                            return false;
                                        })
                                        .on('mouseout', function (d) {
                                            d3.selectAll("a").remove();
                                        });

这段代码或偏移量jQuery对我不起作用:

                function getAbsoluteElementPosition(element) {
                  if (typeof element == "string")
                    element = document.getElementById(element)

                  if (!element) return { top:0,left:0 };                     

                  var y = 0;
                  var x = 0;
                  while (element.offsetParent) {
                    x += element.offsetLeft;
                    y += element.offsetTop;
                    element = element.offsetParent;
                  }
                  return {top:y,left:x};

var pos = getAbsoluteElementPosition(element);

如果我工作正常,则为普通HTML。

提前致谢和问候

0 个答案:

没有答案