我刚看了一下jquery-ui的工具提示,我还有以下代码:
$(function() {
$( document ).tooltip({
items: "[tooltip], [title]",
content: function() {
var element = $( this );
if ( element.is( "[tooltip]" ) )
{
var id = element.attr( "tooltip" );
return $("#tooltip_"+id)[0].innerHTML;
}
if ( element.is( "[title]" ) )
{
return element.attr( "title" );
}
},
show: {
effect: "slideDown"
}
});
});
它有效,它做到了应有的效果
如果它是带有“tooltip”属性或“title”属性的工具提示,我实现了不同方法的原因如下:
如果它是一个“工具提示”属性,那么只有一个id,页面中的某个地方是一个包含工具提示内容的div元素(它是一个包含其中内容的表格)。
但如果它是一个“标题”属性,我想要通常的行为
但是,我想为“工具提示”或“标题”属性定义的工具提示定义不同的延迟
例如。如果它是一个“工具提示”工具提示,我希望延迟200毫秒,如果它是一个“标题”工具提示,我想要500毫秒。
我不知道怎么做。
我知道,如果我在delay: 500
之后添加effect: "slideDown"
,则所有工具提示的延迟将为500毫秒,但我不知道如何单独执行此操作。
我希望我没有用这么长的文字打扰你,你理解我的问题
提前谢谢!
答案 0 :(得分:0)
一种解决方案就是两次使用.tooltip()
。
$(function () {
$(document)
.tooltip({
items: "[tooltip]",
content: function () {
var $element = $(this);
var id = $element.attr("tooltip");
return $("#tooltip_" + id).html();
},
show: {
effect: "slideDown",
duration: 200
}
})
.tooltip({
items: "[title]",
content: function () {
var $element = $(this);
return $element.attr("title");
},
show: {
effect: "slideDown",
duration: 500
}
});
});