如何使用jQuery UI工具提示在打开时更改工具提示颜色
How to change tooltip color on open using jQuery UI Tooltip?
我正在努力实现以下目标,但不知道如何实现。我在一个页面上有几个工具提示,但我希望每个工具提示看起来都不同(例如,取决于严重程度)。以下是我目前所拥有的:
<div id="container">
<a href="#" title="Tooltip 1" data-severity="warning">Tooltip 1 (Warning)</a>
<a href="#" title="Tooltip 2" data-severity="danger">Tooltip 2 (Danger)</a>
</div>
<script type="text/javascript">
// init tooltip
ArrowToolTip.init('container');
</script>
/*JAVASCRIPT*/
var ArrowToolTip = {
init: function (parentId) {
jQuery('#' + parentId).tooltip(
{
content: function () {
var element = jQuery(this);
return element.attr('title');
},
create: function () {
var element = jQuery(this);
var severity = element.data('severity');
if (!severity) {
severity = 'default';
}
element.tooltip('option', 'tooltipClass', severity);
},
open: function(event, ui) {
var element = jQuery(this);
var severity = element.data('severity');
ui.tooltip({
tooltipClass: severity
});
//ui.tooltip.tooltipClass(severity);
console.log(event);
console.log(ui);
}
});
}
}
无论我在创建中有什么:都有效,但它只在页面加载时调用,所以这对我没有任何好处。现在我正试图将其转移到open:
事件。但这似乎根本不起作用。jQuery(this)
不返回悬停的元素,而是返回容器。如何获得正确的元素来选择数据属性?然后我如何更改CSS类?有人知道这是怎么实现的吗?
我没有很好地理解您的逻辑,但以下是我如何根据data-severity
实现不同的类。不将.tooltip()
应用于所有元素,而是对它们进行迭代,并将tooltipClass
设置为$(this).data('severity')
。content函数也允许添加一个类。
$('a.tips').each(function () {
var severity = $(this).data('severity');
$(this).tooltip({
content: function () {
return '<em>' + $(this).attr('title') + '</em>';
},
tooltipClass: severity,
show: "slideDown",
open: function (event, ui) {
ui.tooltip.hover(function () {
$(this).fadeTo("slow", 0.5);
});
}
});
});
.ui-tooltip {
padding: 10px 20px;
border-radius: 20px;
font: bold 14px"Helvetica Neue", Sans-Serif;
text-transform: uppercase;
box-shadow: 0 0 7px black;
}
.ui-tooltip.warning {
color: #E3E8F7;
background: #D94AA4;
}
.ui-tooltip.danger {
color: #212942;
background: #CABA75;
}
a.tips { float:left; margin: 0 10px; text-decoration:none; font: Sans-Serif; }
body { background-color:#eee; padding: 30px; }
<link href="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.4/css/jquery.ui.tooltip.min.css" rel="stylesheet"/>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>
<div id="container">
<a href="#" title="Tooltip 1" class="tips" data-severity="warning">(Warning)</a>
<a href="#" title="Tooltip 2" class="tips" data-severity="danger">(Danger)</a>
</div>
我不清楚你的问题。但我希望这有时会对你有所帮助。。。。
我在jquery中使用tooltipClass名称作为"tooltipClass"。
$(document).tooltip({effect: "blind", duration: 1000, tooltipClass: 'tooltipclass'});
使用这个类名,您可以为工具提示提供任何样式。
.tooltipclass{
font-size: 12px;
border:1px solid #e74c3c;
}
所以尝试使用不同的tooltipClass名称。。。。。。。。。
相关文章:
- d3.js Chord图的动态工具提示
- Graphiti中是否有任何工具提示功能
- "工具提示"jQuery插件坏了
- 单元格的工具提示或标题不显示超过2000个字符
- d3.js用按钮更新条形图工具提示
- 使Intro.js工具提示响应
- 画布中绘制的矩形区域的弹出工具提示
- 使用CSS/JavaScript更改剑道图工具提示文本颜色
- 禁用NVD3 multiBarHorizontalChart中0值的工具提示
- 如何更改已显示的工具提示
- 如何在堆栈中创建具有不同颜色和自定义工具提示的堆积柱形图
- 尝试修改引导工具提示的工具提示颜色
- 在工具提示中将鼠标悬停时更改背景颜色
- NVD3.js 多条形图工具提示颜色
- 如何在图像库森时更改颜色和显示工具提示
- 更改工具提示颜色d3.js
- 更改ui.bootrap的工具提示箭头的颜色(附加了plunker)
- 如何使用jQuery UI工具提示在打开时更改工具提示颜色
- 如何在Highcharts中设置工具提示框的颜色
- 如何更改工具提示背景颜色