Use simple jQuery + CSS to create a custom a tag title tooltip

Use simple jQuery + CSS to create a custom a tag title tooltip
Introduction

Use simple jQuery+CSS to create a custom a tag title prompt to replace the browser default behavior. As shown in the figure:



Javascript code

Copy code
The code is as follows:

</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();
$("<div id=\"anchortitlecontainer\"></div>").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 reference jQuery.

In the code, setTimeout(function () { pop.remove(); }, pop.text().length*80); calculates the prompt time based on the title length to prevent a too short title from being too long or a too long title from being too short.

CSS Code

Copy 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 come up with this style. It would be my honor if someone could use it. :)

<<:  How to use mysql index merge

>>:  How to create a scroll bar with fixed navigation and left and right sliding using CSS

Recommend

Do you know the weird things in Javascript?

Our veteran predecessors have written countless c...

border-radius is a method for adding rounded borders to elements

border-radius:10px; /* All corners are rounded wi...

Installation and configuration method of Zabbix Agent on Linux platform

Here is a brief summary of the installation and c...

Win32 MySQL 5.7.27 installation and configuration method graphic tutorial

The installation tutorial of MySQL 5.7.27 is reco...

Solution to "Specialized key was too long" in MySQL

Table of contents Solution 1 Solution 2 When crea...

How to view server hardware information in Linux

Hi, everyone; today is Double 12, have you done a...

Detailed explanation of common methods of JavaScript arrays

Table of contents Common array methods pop() unsh...

CSS method of controlling element height from bottom to top and from top to bottom

Let’s start the discussion from a common question...

CSS modular solution

There are probably as many modular solutions for ...

Solution to mysql server 5.5 connection failure

The solution to the problem that mysql cannot be ...

How does the composite index of MySQL take effect?

Table of contents background Understanding compos...

About if contains comma expression in JavaScript

Sometimes you will see English commas ",&quo...

Design Reference Beautiful and Original Blog Design

All blogs listed below are original and uniquely ...

How to simulate enumeration with JS

Preface In current JavaScript, there is no concep...

How to implement a lucky wheel game in WeChat applet

I mainly introduce how to develop a lucky wheel g...