Echarts鼠标移动切换数据项时Tooltip卡顿情况优化

大家在使用Echarts的过程用,可能会碰到这样的情况,就是鼠标切换数据项过快时,鼠标hover触发的Tooltip的展示会有延迟的现象,给用户有一种很卡的感觉。特别是当页面内容较多,或者trigger为’axis’ 触发Tooltip很频繁的时候。 针对这种情况,我们可以通过以下两个配置优化一下:

tooltip.enterable

该配置的含义是:鼠标是否可进入提示框浮层中,默认为false。我们通过将此项设置为true,让鼠标可以进入Tooltip浮层,当输入进入Tooltip浮层时,就不会触发其它数据项的hover事件,这样在鼠标移入Tooltip期间不会触发其它的Tooltip,从视觉上就不会有卡顿的现象

tooltip.axisPointer.animation

该配置的含义是:坐标轴指示器在变化时是否需要动画,默认为true。我们可以通过将该项设置为false。动画本身就有延迟的效果,而且会增大浏览器的渲染压力,将该项置为false也对加快Tooltip的显示和隐藏有所作用

ECharts是一个强大的JavaScript图表库,它可以创建各种交互式图表。如果你想实现在地图上监听鼠标移动,当鼠标移动 tooltip 内的内容跟随移动而不是切换到新的数据点,你可以这样做: 首先,你需要确保已经在 ECharts 中启用了地图,并设置了鼠标悬停事件(`mousemove` 或 `mouseover`) 和 tooltip 的显示配置。 ```javascript // 创建地图实例 var map = echarts.init(document.getElementById('map')); // 加载地图数据 map.setOption({ geo: { // 地图相关配置 roam: true, // 设置地图可以自动缩放并平移以适应鼠标移动 itemStyle: { normal: { label: { show: false }, // 隐藏默认的标签 hover: { label: { show: true, position: 'top' } // 当鼠标悬停显示 tooltip } } }, regions: ... // 区域数据 }, tooltip: { trigger: 'mousemove', // 启动鼠标移动触发 tooltip 显示 formatter: function (params) { // 自定义 tooltip 格式化函数 return params.name; // 返回地图区域名称 }, followMouse: true, // 开启鼠标跟随模式,保持 tooltip鼠标位置 enterable: false, // 阻止用户关闭 tooltip } }); // 监听地图的鼠标移动事件 map.on('mousemove', function (params) { map.dispatchAction({ type: 'showTip', // 使用鼠标当前的位置更新 tooltip 显示的数据 seriesIndex: 0, // 地图系列的索引 dataIndex: params.dataIndex // 匹配到的具体数据点索引 }); }); ``` 在这个例子中,`followMouse: true` 和 `enterable: false` 用于启用鼠标跟随模式,不会自动关闭 tooltip,同 `mousemove` 会根据鼠标位置动态更新 tooltip 中的信息。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值