【问题标题】:Tooltip visibility based on condition d3.js基于条件 d3.js 的工具提示可见性
【发布时间】:2015-07-03 05:18:56
【问题描述】:

我需要显示在检查复选框值时,仅在移动悬停时显示图表的节点的刀尖。否则它不应该显示。

我尝试了如下代码。但它不起作用。

.on('mouseover', function (d) {
  if(document.getElementById("chkEnableDisableNames").checked == true){
    d.show ;
}
else { 
  return null;
}})

jsfiddle

【问题讨论】:

  • 不应该在其他元素或选择器上调用.on() 吗?也请发布您的 HTML 的相关部分。
  • 添加了jsfiddle链接..你可以在那里查看
  • 谢谢。知道问题。很快就会发布答案。

标签: javascript d3.js tooltip mouseover


【解决方案1】:

注意:我将参考您的 jsFiddle 示例,因为其中的代码与您在问题中发布的 sn-p 不同。

代码有几个问题:

1) 您正在使用自定义函数showhidefunc() 来调节提示的显示。该函数在您的悬停事件范围之外,因此不会继承它的局部变量,因此您需要通过参数传递它:

.on('mouseover', function(d) {
  showhidefunc(d); 
}

// ...

function showhidefunc(d) {
  // ...
}

2) tip.show() 不是一个属性,而是一个方法,需要在参数中传递一个节点来显示提示才能工作:

tip.show(d);

除了你的代码看起来不错。

这是您更新(工作)的小提琴,如上所述: http://jsfiddle.net/f8R3M/39/

【讨论】:

    猜你喜欢
    • 2011-03-31
    • 2011-03-10
    • 2021-05-07
    • 2016-07-09
    • 2023-04-06
    • 1970-01-01
    • 2023-03-04
    • 2022-08-14
    • 1970-01-01
    相关资源
    最近更新 更多