龙空技术网

如何在Echarts图表中实现鼠标移入停止滚动与移出继续滚动!示例

豆ok 82

前言:

而今看官们对“echarts清空上一次的数据”可能比较关心,姐妹们都需要剖析一些“echarts清空上一次的数据”的相关文章。那么小编在网络上网罗了一些关于“echarts清空上一次的数据””的相关文章,希望咱们能喜欢,姐妹们一起来学习一下吧!

关于在 Echarts 图表中实现鼠标移入停止滚动、移出继续滚动的问题的回答。解决方法是在代码中添加事件监听器,当鼠标移入图表时清除定时器,当鼠标移出时重新启动定时器,从而实现停止和继续滚动。

在Echarts图表中实现鼠标移入时停止滚动,移出时继续滚动,可以使用Echarts提供的事件绑定方法,具体如下:

if (xData.length > 0) {

this.autoMove();

this.myChart.on('mouseover', this.stop.bind(this));

this.myChart.on('mouseout', this.goMove.bind(this));

}

this.option && this.myChart.setOption(this.option);

在使用 Echarts 进行数据可视化的开发。要实现当鼠标移入时停止滚动,移出时继续滚动,可以在代码中添加一些事件监听器。

具体实现方法如下:

1、在 autoMove() 方法中,将 setInterval 返回的定时器 ID 保存到当前实例的属性中,如 this.timechartes。

2、在 this.myChart.on('mouseover', this.stop()); 中,stop() 方法需要改为 () => { this.stop(); },即使用箭头函数绑定 stop 方法的作用域,否则 stop 方法将在绑定事件时被立即调用。

3、在 this.myChart.on('mouseout', this.goMove()); 中,goMove() 方法同样需要使用箭头函数绑定其作用域。

具体的代码如下:

if (xData.length > 0) {

this.autoMove();

this.myChart.on('mouseover', () => { this.stop(); });

this.myChart.on('mouseout', () => { this.goMove(); });

}

this.option && this.myChart.setOption(this.option);

// 添加 stop 和 goMove 方法

stop() {

clearInterval(this.timechartes);

},

goMove() {

this.autoMove();

},

autoMove() {

this.timechartes = setInterval(() => {

if (this.option.dataZoom[0].endValue == this.addXseData.length) {

this.option.dataZoom[0].endValue = 10;

this.option.dataZoom[0].startValue = 0;

} else {

this.option.dataZoom[0].endValue = this.option.dataZoom[0].endValue + 1;

this.option.dataZoom[0].startValue = this.option.dataZoom[0].startValue + 1;

}

this.myChart.setOption(this.option)

}, 2000);

},

这样就可以让鼠标移入图表时,定时器会被清除,图表停止滚动;当鼠标移出图表时,定时器会重新启动,图表继续滚动。

标签: #echarts清空上一次的数据 #清空echarts图