PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

jquery+CSS创建自定义的a标签title提示tooltip示例

高洛峰
高洛峰 原创
2017-03-06 15:11:51 1105浏览

用简单的jquery+CSS创建自定义的a标签title提示,用来代替浏览器默认行为。如图:

jquery+CSS创建自定义的a标签title提示tooltip示例

Javascript代码

代码如下:

</pre><pre name="code" class="javascript">$(function() { 
$("a[title]").each(function() { 
var a = $(this); 
var title = a.attr('title'); 
if (title == undefined || title == "") return; 
a.data('title', title) 
.removeAttr('title') 
.hover( 
function () { 
var offset = a.offset(); 
$("<p id=\"anchortitlecontainer\"></p>").appendTo($("body")).html(title).css({ top: offset.top + a.outerHeight() + 10, left: offset.left + a.outerWidth() + 1 }).fadeIn(function () { 
var pop = $(this); 
setTimeout(function () { pop.remove(); }, pop.text().length*80); 
}); 
}, 
function() { $("#anchortitlecontainer").remove(); } 
); 
}); 
});


别忘记引用JQuery。

代码中setTimeout(function () { pop.remove(); }, pop.text().length*80);是根据title长度计算提示时间,用来防止太短的title提示过长或太长的title提示过短。

CSS代码

代码如下:

#anchortitlecontainer { 
position: absolute; 
z-index: 5999; 
border: solid 1px #315B6C; 
padding: 5px; 
color: #315B6C; 
background: none repeat scroll 0 0 #FFFFFF; 
border-radius: 5px; 
display: none; 
} 
#anchortitlecontainer:before { 
position: absolute; 
bottom: auto; 
left: -1px; 
top: -15px; 
border-color: transparent transparent transparent #315B6C; 
border-style: solid; 
border-width: 15px; 
content: ""; 
display: block; 
width: 0; 
} 
#anchortitlecontainer:after { 
position: absolute; 
bottom: auto; 
left: 0px; 
top: -13px; 
border-color: transparent transparent transparent #FFFFFF; 
border-style: solid; 
border-width: 15px; 
content: ""; 
display: block; 
width: 0; 
}


使用一些CSS3的特性,回避使用图片。

不是CSS高手,调出这个样式着实花了一些时间,如果有人能用上,那就是我的荣幸了。:)

更多jquery+CSS创建自定义的a标签title提示tooltip示例相关文章请关注PHP中文网!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。