Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Highcharts折线图-突出显示点悬停上的xAxis标签_Javascript_Jquery_Html_Css_Highcharts - Fatal编程技术网

Javascript Highcharts折线图-突出显示点悬停上的xAxis标签

Javascript Highcharts折线图-突出显示点悬停上的xAxis标签,javascript,jquery,html,css,highcharts,Javascript,Jquery,Html,Css,Highcharts,面临在折线图中突出显示标签的问题 我在这里发现了一个类似的主题,但它不适合(在这种情况下,没有找到任何关于xAxis[0].labelGroup的信息)。文件中也没有任何信息 我需要的是: 在点悬停效果上高亮显示xAxis上的标签,它应该高亮显示最近的标签。轴的类型为datetime,间隔为6小时 我的例子是: 我试图使用: mouseOver: function() { $($('.customLabel')[this.x]).addClass('customLabelSelec

面临在折线图中突出显示标签的问题

我在这里发现了一个类似的主题,但它不适合(在这种情况下,没有找到任何关于xAxis[0].labelGroup的信息)。文件中也没有任何信息

我需要的是:

在点悬停效果上高亮显示xAxis上的标签,它应该高亮显示最近的标签。轴的类型为datetime,间隔为6小时

我的例子是:

我试图使用:

 mouseOver: function() {
    $($('.customLabel')[this.x]).addClass('customLabelSelected');
 }
添加这些类:

<style>
  .customLabel {
    color: #00FF00;
    background-color: rgba(10, 10, 90, 0.8);
  }
  .customLabelSelected {
    color: #FF0000;
  }
</style>

.海关标签{
颜色:#00FF00;
背景色:rgba(10,10,90,0.8);
}
.海关标签当选{
颜色:#FF0000;
}
但它不能正常工作。 有人知道如何做到这一点吗


多谢各位

轴上有一个名为ticks的对象,该对象内的ticks通过其在轴上的值来识别。勾号对象的部分是要设置样式的标签

因此,您需要找到悬停点的“足够近”勾号。 这些点的值与记号的值不完全相同,因此需要定义满足您要求的距离

function findTick(x, ticks, range) {
  for (var tickValue in ticks) {
    if (Math.abs(x - tickValue) <= range) {
      return ticks[tickValue];
    }
  }
}
最后一件事,如果你想使用css样式,那么你必须启用html标签

   labels: {
    useHTML: true,
否则,您将对svg元素进行操作,这些元素的styles属性与html元素的styles属性不同


示例:

轴包含一个名为ticks的对象,该对象中的ticks由其在轴上的值标识。勾号对象的部分是要设置样式的标签

因此,您需要找到悬停点的“足够近”勾号。 这些点的值与记号的值不完全相同,因此需要定义满足您要求的距离

function findTick(x, ticks, range) {
  for (var tickValue in ticks) {
    if (Math.abs(x - tickValue) <= range) {
      return ticks[tickValue];
    }
  }
}
最后一件事,如果你想使用css样式,那么你必须启用html标签

   labels: {
    useHTML: true,
否则,您将对svg元素进行操作,这些元素的styles属性与html元素的styles属性不同


示例:

非常感谢!它完美地解决了我的问题。而且有点奇怪,文档中没有关于它的信息。非常感谢!它完美地解决了我的问题。有点奇怪,文档中没有关于它的信息