echarts中tooltip显示标题过长滚动

如果你想要在 tooltip 的 title 部分实现跑马灯效果,即不停地滚动显示内容,通过使用 CSS 动画和 JavaScript 来实现。

option = {
  // 其他配置项...
  tooltip: {
    trigger: 'axis',
    formatter: function (params) {
      var title = params[0].name;
      var content = '';

      // 构造自定义 tooltip 的内容,可以使用 HTML 和 CSS
      content += '<div class="custom-tooltip">';
      content += '<div class="tooltip-title">' + title + '</div>';
      content += '<ul>';
      params.forEach(function (item) {
        content += '<li>' + item.seriesName + ': ' + item.value + '</li>';
      });
      content += '</ul>';
      content += '</div>';

      return content;
    },
    // 其他配置...
  },
  // 其他配置项...
};

// JavaScript 函数,实现 tooltip title 的跑马灯滚动效果
function startTooltipMarquee() {
  var tooltipTitle = document.querySelector('.tooltip-title');

  // 获取 title 的宽度
  var titleWidth = tooltipTitle.offsetWidth;

  // 创建 CSS 动画
  var keyframes = `
    @keyframes marquee {
      0% { transform: translateX(0); }
      100% { transform: translateX(-${titleWidth}px); }
    }
  `;

  // 添加动画样式
  var styleSheet = document.createElement('style');
  styleSheet.innerHTML = keyframes;
  document.head.appendChild(styleSheet);

  // 添加动画类名
  tooltipTitle.classList.add('marquee');

  // 设置动画播放时长和循环模式
  tooltipTitle.style.animationDuration = (titleWidth / 50) + 's';
  tooltipTitle.style.animationIterationCount = 'infinite';
}

// 在 tooltip 显示后调用 JavaScript 函数开始跑马灯滚动效果
chart.on('showTip', function (params) {
  startTooltipMarquee();
});


说明:

元素的 class 属性中添加了一个名称为 tooltip-title 的类,并定义了一个名为 marquee 的 CSS 类,用于实现跑马灯滚动效果。

通过 JavaScript 函数 startTooltipMarquee(),我们动态地计算了 title 的宽度,并创建了一个 CSS 动画,将其应用到 title 元素上。然后,我们设置了动画的播放时长和循环模式,使其不停地滚动。

在 ECharts 图表对象上使用 showTip 事件,可以在 tooltip 显示后调用 startTooltipMarquee() 函数,以启动跑马灯滚动效果。

请注意,由于跑马灯滚动效果使用了 CSS 动画,你可能需要根据具体的样式和需求进行相应的调整,以获得所期望的滚动效果。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.T's Blog

感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值