Javascript Highcharts-使用函数更改工具提示
所以我使用Highcharts(具体来说是li3_Highcharts助手)来显示通话时间。我可以使用函数在工具提示中显示“{point.y}”,但为了使其更具可读性,我需要能够将“{point.y}”传递给我的secondsToTime()函数,该函数将秒显示为可读时间00:00:00 这将以秒为单位打印正确的时间:Javascript Highcharts-使用函数更改工具提示,javascript,php,highcharts,Javascript,Php,Highcharts,所以我使用Highcharts(具体来说是li3_Highcharts助手)来显示通话时间。我可以使用函数在工具提示中显示“{point.y}”,但为了使其更具可读性,我需要能够将“{point.y}”传递给我的secondsToTime()函数,该函数将秒显示为可读时间00:00:00 这将以秒为单位打印正确的时间: 'tooltip' => ['pointFormat' => '(function(){return "{point.y}";})()'] 但是当我尝试在secon
'tooltip' => ['pointFormat' => '(function(){return "{point.y}";})()']
但是当我尝试在secondsToTime()函数中传递“{point.y}”时,我得到的是'NaN',因为它不是一个数字。我还向函数添加了一个parseInt(),以使其作为字符串传递,但什么也没有
'tooltip' => ['pointFormat' => '(function(){return secondsToTime("{point.y}");})()']
有什么地方我可以稍后传递这个函数,让它工作吗?还是找个工作
提前感谢。我不是100%确定这是问题所在,但看起来您是在向函数传递带引号的字符串,而不是整数值。尝试:
'tooltip' => ['pointFormat' => '(function(){return secondsToTime({point.y});})()']
对不起。再看一遍,我想我知道问题出在哪里了 您使用的是“pointFormat”,它应该是一个字符串,而不是一个函数 如果你想调用一个函数,有一个“格式化程序”选项 我想你需要这样的东西:
'tooltip' => ['formatter' => 'function(){return secondsToTime(point.y);}']
SteveP是对的我想除了你需要
'tooltip' => ['formatter' => 'function(){return secondsToTime(this.y);}']
而不是
'tooltip' => ['formatter' => '(function(){return secondsToTime(this.y);})()']
谢谢你的回复。我试过了,结果打破了整个图表。没有显示任何内容…嗯,我试过了,但它又坏了。使用'formatter','tooltip'=>['formatter'=>'(函数(){returnthis.y;})(')]返回秒数。但是当我再次尝试“工具提示”=>[“格式化程序”=>'(函数(){return secondsToTime(this.y);})()]时,它只是没有工具提示。我认为你不需要在函数周围加大括号。