新一代jQuery工具提示插件

Posted

tags:

中文标题:新一代jQuery工具提示插件 原文标题:A new generation jQuery Tooltip plugin 项目评级:Star:362      Fork:36 下载地址:https://github.com/wintercounter/Protip 详情介绍

功能简介

介绍

在我工作的公司,我们使用许多工具提示有多种用途。特别是我们的管理区域/控制面板一侧有大量的工具提示使用。有几个不寻常的请求总是需要在我们现有的插件中开发新的功能。现在我已经创建了新一代工具提示Protip。它不是那么轻,但它并不打算这么轻。我们需要一个适合我们面临的每一种情况的解决方案。

安装

简单的方法

<head>标签中包含protip.min.css文件:

在关闭</body>标签之前(但在包含jQuery之后)包含protip.min.js文件:

使用npm获取文件

npm install protip --save

使用bower获取文件

bower install protip

初始化插件

要初始化插件,只需在$(document).ready();部分插入$.protip();,以防您已经有了。

如果没有,则创建一个:

您也可以在此处传递配置对象:$.protip([configObject]);

用法

配置

您可能需要对工具提示的行为进行一些全局配置。您可以在初始化时作为对象传递一些配置选项。

<表格>

属性

默认

详细信息

选择器

.protip公司

我们将使用这个选择器来识别带有protip的元素

命名空间

数据-[NAMESPACE]-*

保护模板

参见代码

保护物的模板。变量({})将被替换

箭头模板

参见代码

突起箭头的模板

图标模板

参见代码

带有图标的保护程序的模板

观察员

真实的

如果为true,我们将观察DOM中的变化,并检查是否需要显示或删除protip

延迟调整大小

100

onResize事件超时的默认时间。调整大小后,我们需要重新定位工具提示,但不希望在每次触发的调整大小事件上都运行

默认值

{…}

工具提示的默认(全局)值。覆盖任何可用的data-pt-*属性

将工具提示附着到图元

工具提示由数据属性控制。说真的,你可以从标记中控制工具提示的各个方面,不需要额外的JavaScript代码。

我在这里所做的是在元素中添加一个protip类,然后在data-pt-title属性中定义一个工具提示文本。

与Protip相关的属性将始终获得一个pt命名空间,这样Protip就不会与现有的数据属性发生冲突。

可用属性[data pt-*]

<表格>

属性

默认

类型

详细信息

触发器

'悬停'

字符串

您希望如何触发此工具提示?可用值:悬停、点击、点击2、粘性(粘性将在加载时显示;点击2不会听身体点击)

所有权

无效

字符串

工具提示内容文本。或者,您可以提供一个以#或开头的选择器(ID或类)。从另一个DOM元素的内容中获取数据(<em>甚至整个HTML</em>)。示例:<div id="tooltipContent"><em>This is my tooltips content</em></div>。您也可以使用:next:prev:this,这可以让您立即获得下一个、上一个或这个元素的内容

延迟

0个

编号

延迟显示工具提示。当你想防止快速鼠标悬停时出现工具提示时,这很方便

延迟输出

0个

编号

隐藏工具提示的延迟。例如,在工具提示中有可单击内容的情况下很方便

交互式的

虚假的

布尔

如果为true,protip将使用默认的250ms作为可点击内容的<em>delayOut</em>

重力

真实的

Bool,字符串

Gravity会在显示工具提示之前检查它,如果工具提示不适合视口,它会搜索更好的位置。Gravity有多种选择,文档中有一个单独的关于Gravity的部分

偏置顶部

0个

国际

调整工具提示的Y位置

向左偏移

0个

国际

调整工具提示的X位置

位置

“底部”

字符串

首选职位。有关可用选项和详细信息,请查看位置部分

安置

“外部”

字符串

工具提示i的位置

元素的nside。可用的值有:外部、内部、边界和中心

无效

字符串

这些类将被添加到工具提示中,例如,这可能会启用其他样式

箭头

真实的

布尔

在此工具提示中隐藏箭头。在初始化时,可以选择设置箭头的大小。Protip会将其计算到各个位置

宽度

300

Int,字符串

这是工具提示的默认最大宽度。如果您需要固定宽度,请这样写:300

图标

虚假的

Bool,字符串

使用指定的图标类将图标模板添加到工具提示标记中

观察员

虚假的

布尔

如果为true,我们将在源元素上附加一个观察器,并监视更改例如,如果更改数据点标题属性,工具提示标题也将更改

目标

“身体”

Bool,字符串

我们将把工具提示附加到此选择器。如果要追加到源元素中,请使用true

皮肤

'默认'

Bool,字符串

仅应用于此工具提示的蒙皮。(当前可用:默认值,方形)

尺寸

“正常”

字符串

微小、小、正常、大、大

方案

“专业”

字符串

要使用的配色方案。见方案列表

设置动画

未定义的

Bool,字符串

基于Animate.css的动画类型。请参见动画

自动隐藏

虚假的

Bool,编号

此超时(毫秒)后,工具提示将自动隐藏

汽车展览会

虚假的

布尔

加载时自动显示此元素的工具提示(粘贴条仍将显示)

混合蛋白

未定义的

字符串

要使用的工具提示混合。用空格分隔

jQuery帮助程序

实例

重力

可用职位列表

数据点重力

正确/错误

它将启用/禁用重力选项。如果这是真的,普罗提普会尝试所有的位置。

三级职位

级别1顶部、右侧、底部、左侧

标高2除转角外的所有其他

Level 3偶数拐角

您可以定义一个级别编号。如果您希望仅在最常见的位置使用重力,请设置为1。2将同时触发1和23将触发所有这些。

全手动控制

有时,您可能需要特定的工具提示,以便在所有位置中只有3或5个具有自定义偏移的位置。有一个用于此目的的自定义标记:

只能使用2个位置。

data-pt-gravity="top-right; bottom-left"

只能使用2个位置。带有自定义偏移。(X,Y)

data-pt-gravity="top-right 10; bottom-left -10 30"

优先考虑这些职位,然后其他职位可能会来。。。

data-pt-gravity="top-right; bottom-left; ..."

根据需要混合:)

数据点放置

使用放置属性可以更改工具提示的定位行为。

请注意,对于outside以外的其他位置,您可能需要禁用箭头。

动画

Protip内置了对Animate.css的支持(https://daneden.github.io/animate.css/).

您只需使用链接网站上的相同名称即可。

用法:

Protip的CSS不包括Animate.CSS。从这里下载://min.gitcdn.xyz/repo/daneden/Animate.CSS/master/Animate.CSS

皮肤

皮肤现在有点难,我期待着采用一种更清洁的方式。

无论如何,标记不会发生太大的变化,所以目前制作的皮肤在未来也应该可以使用。

请查看Protip的SCSS文件以了解更多详细信息。存在可配置的映射,

这样你就可以很容易地添加你自己的风格(还有方案和尺寸)。

可用方案列表

很高兴知道一些事情

.protip目标类

如果没有指定data-pt-title,Protip将尝试在家长中搜索.protip-target的班级。

如果找到,工具提示将被附加到那里,否则它将直接附加到body中(如果没有指定其他内容)。

例如,当在覆盖中使用工具提示时,这很有用。将protip-target类添加到覆盖容器元素

这将解决关闭覆盖时z-index的问题和工具提示删除。

.protip开放类

打开工具提示时,Protip会将protip-open类添加到元素中,以使您能够添加自定义样式,例如。

.protip闭合类

如果您需要一个元素来关闭工具提示(在工具提示中,如X之类),只需添加一个元素

与碎屑

sprotip-close,点击会触发关闭。

自动交互式链接检测

Protip将尝试检测您的工具提示是否包含链接(通过在其中搜索a标签)。如果真的找到了,你的

工具提示将自动变成交互式的,这样用户就可以单击工具提示中的链接,而不是关闭它。

为什么偏移(顶部/左侧)不起作用?

data-pt-offset-(left/top)属性仅对默认位置工具提示有效。如果重新定位

根据重力,它不会被添加到计算中。如果需要定位重新定位的工具提示,请在

data-pt-gravity标签使用自己的语法。

data-pt-gravity="top 0 -15; bottom 0 15"

命令缓冲区

您可以在初始化protip之前调用jQuery助手(如protipShow/protipHide)。这解决了JavaScript文件顺序的问题

和在Protip初始化之前调用,您的命令将在所有操作完成后运行。

突变观察员(IE8-10支持)

Internet Explorer仅从版本11开始支持突变观察者。如果您需要IE8-10支持,则需要包含

突变观察者Polyfill。只需在加载Protip之前包含此脚本https://github.com/megawac/MutationObserver.js

贡献、错误、功能请求和建议

捐款总是受欢迎的。只需分叉存储库,提交您的更改并创建一个Pull Request。

对于bug、请求、建议等,请使用Protip存储库中的GitHub问题跟踪器。

信用

书签

将此自定义 JQuery 工具提示脚本转换为 Jquery 插件

一个jQuery插件,用于创建悬停工具提示。

如何在 Tooltipster 工具提示中显示来自 jQuery Validate 插件的消息?

发现一款好用的jquery插件(tooltipster实用的工具提示插件)

带有链接的jQuery工具提示

spket插件安装并设置JQuery自动提示(转)