Home > Article > Web Front-end > jquery+CSS to create a custom a tag title prompt tooltip example
Use simple jquery+CSS to create a custom a tag title prompt to replace the browser's default behavior. As shown in the picture:
Javascript code
The code is as follows:
$(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></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(); }
);
});
});
Don’t forget to quote JQuery.
The setTimeout(function () { pop.remove(); }, pop.text().length*80); in the code calculates the prompt time based on the title length to prevent too short title prompts. A long or too long title prompt is too short.
CSS code
The code is as follows:
#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;
}
Use some CSS3 features and avoid using images.
I am not a CSS expert, so it took me some time to adjust this style. If someone can use it, it would be my honor. :)
For more jquery+CSS creation of customized a tag title prompt tooltip examples, please pay attention to the PHP Chinese website!