📜  jQuery jTippy 工具提示插件(1)

📅  最后修改于: 2023-12-03 14:43:09.288000             🧑  作者: Mango

jQuery jTippy 工具提示插件

jQuery jTippy 是一个轻量级的工具提示插件,基于 jQuery 和 CSS3 实现。它可以用来快速创建各种类型的工具提示,包括带有图标、箭头、动画效果等等。该插件有丰富的选项,可以让您轻松地自定义工具提示的外观和行为。

功能特性
  • 支持多种样式和主题,可自定义外观和行为
  • 支持鼠标悬停、点击、聚焦等多种触发方式
  • 支持 HTML 内容,可以插入图片、链接、表格等元素
  • 支持 AJAX 动态加载,可以从服务器端获取工具提示内容
  • 支持自适应屏幕大小,并自动调整工具提示位置和方向
  • 支持触发事件和回调函数,可以处理工具提示的生命周期
  • 兼容性好,支持主流浏览器和移动设备
使用方法
  1. 引入 jQuery、jTippy CSS 和 jTippy JS 文件:

    <!-- jQuery 3.x 版本 -->
    <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
    
    <!-- jTippy CSS -->
    <link rel="stylesheet" href="https://unpkg.com/@popperjs/core@2.9.3/dist/esm/popper-bundle.css">
    <link rel="stylesheet" href="https://unpkg.com/tippy.js@6.3.2/dist/tippy.css" />
    
    <!-- jTippy JS -->
    <script src="https://unpkg.com/@popperjs/core@2.9.3/dist/esm/popper-bundle">
    <script src="https://unpkg.com/tippy.js@6.3.2/dist/tippy-bundle.umd.min.js"></script>
    
  2. 在需要添加工具提示的元素上设置 data-tippy 属性,包含以下选项:

    • content:提示框的内容,可以是字符串或 HTML 元素;
    • theme:提示框的主题,可以是 lightdark
    • placement:提示框的位置,可以是 topbottomleftright
    • trigger:触发提示框的方式,可以是 mouseenterclickfocus

    例如:

    <button data-tippy-content="这是一个按钮" data-tippy-theme="dark" data-tippy-placement="bottom" data-tippy-trigger="mouseenter">Hover me</button>
    
  3. 初始化 jTippy:

    tippy('[data-tippy]');
    
选项配置

jTippy 有丰富的选项,可以通过 JavaScript 配置来自定义工具提示的外观和行为。以下是常用的选项配置示例:

  1. 设置默认选项:

    tippy.setDefaultProps({
      theme: 'light',
      placement: 'bottom',
      arrow: true
    });
    
  2. 自定义主题样式:

    .tippy-punk[role="tooltip"] {
      background-color: #e84118;
      color: #fff;
      font-size: 1.2rem;
      border: none;
      border-radius: 8px;
      box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.2);
    }
    
    .tippy-punk[role="tooltip"] .tippy-arrow {
      color: #e84118;
    }
    
  3. 自定义回调函数:

    document.querySelector('button').addEventListener('click', function() {
      tippy(this, {
        content: 'Hello, world!',
        onShown(instance) {
          console.log('onShown', instance);
        },
        onHidden(instance) {
          console.log('onHidden', instance);
        }
      });
    });
    
兼容性

jTippy 兼容主流浏览器和移动设备,包括:

  • Chrome 25+
  • Firefox 28+
  • Safari 7+
  • IE 10+
  • Edge 20+
  • Opera 15+
  • iOS Safari 7.1+
  • Android Browser 4+
  • Chrome for Android 49+
总结

jQuery jTippy 是一个非常实用和易用的工具提示插件,它可以帮助您快速创建漂亮的工具提示,并且非常灵活和可配置。希望通过本文的介绍,能够帮助程序员更好地了解 jTippy,从而更好地应用它。