jQuery-偏移量或位置在iOS上不起作用

时间:2019-07-08 09:55:32

标签: jquery ios offset

我正在尝试使用一个简单的函数从d3.js图表​​中删除一些空间,该函数计算外部和最近的内部元素的偏移量(顶部和左侧),然后获取它们之间的间隙并“移除”它负边距。

enter image description here

这就是我的功能:

function gapNode() {
  var offsetParent  = $("#chart").offset().top;
  var valArr = [];

  $("#chart .node").each(function(){
    var offsetThis = $(this).offset().top;
    var offSetGap  = offsetThis - offsetParent;
    valArr.push(offSetGap);
  });

  return Math.round(Math.min(...valArr));
}

然后我将margin-top设置为此值,如下所示:

$('#chart svg').css('margin-top', '-' + gapNode());

这在台式机上运行良好。但是当涉及到iOS(无论是Safari还是Chrome)时,总是给我一个“ 0”作为值,我不知道为什么。我已经尝试使用position().top或像在this中那样添加校正后的偏移量功能。

您可以找到我的整支笔here。相关的jQuery代码位于笔的最底部。

也许任何人在使用SVG或其他工具时都遇到相同的问题。

0 个答案:

没有答案