Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.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 图表Js在画布上移动鼠标时闪烁或切换_Javascript_Chart.js - Fatal编程技术网

Javascript 图表Js在画布上移动鼠标时闪烁或切换

Javascript 图表Js在画布上移动鼠标时闪烁或切换,javascript,chart.js,Javascript,Chart.js,我使用ChartJs在我的页面上创建了一个图表,然后我放置了三个按钮,以便在单击时,它以不同的图表类型表示数据。 但我遇到的问题是,如果我在切换到另一个图形后在画布上移动鼠标指针,它会不断切换或闪烁,这不好,我如何才能让它保持在当前的图表类型上 在渲染图表之前,我尝试清除画布和上下文对象,但它仍然无法工作,下面是我的代码 var chartx; var cv; var mnts, vals, mx, steps; // for the chart labels.. //从此url检索js

我使用ChartJs在我的页面上创建了一个图表,然后我放置了三个按钮,以便在单击时,它以不同的图表类型表示数据。 但我遇到的问题是,如果我在切换到另一个图形后在画布上移动鼠标指针,它会不断切换或闪烁,这不好,我如何才能让它保持在当前的图表类型上

在渲染图表之前,我尝试清除画布和上下文对象,但它仍然无法工作,下面是我的代码

var chartx;
var cv;


var mnts, vals, mx, steps; // for the chart labels.. 
//从此url检索json数据。。 变量设置={ 类型:'GET', url:“/ajax/stats/summary” };

这是我的方法,图表和所有东西都可以工作,但是在点击不同的按钮后,mousemove上的行为会发生变化,我不知道问题出在哪里,这就是问题,闪烁的行为


请告诉我该怎么做。

没有必要彻底清理画布。但在重新初始化chartjs对象之前,需要先销毁它。因此,这就像在同一画布上重新创建chartjs对象一样。 在drawChart方法中创建对象之前,只需检查实例是否已经存在

function drawChart(cdiv, ctype){
      if(chartx){
            chartx.destroy();
      }
      chartx = new Chart(.....
      ...... 
}

没有必要从字面上清除画布。但在重新初始化chartjs对象之前,需要先销毁它。因此,这就像在同一画布上重新创建chartjs对象一样。 在drawChart方法中创建对象之前,只需检查实例是否已经存在

function drawChart(cdiv, ctype){
      if(chartx){
            chartx.destroy();
      }
      chartx = new Chart(.....
      ...... 
}