Fancy tooltips with an “arrow” pointer are commonly found in desktop applications. Well, now you can add a similarly looking tooltip to your webpage. Works in IE4+, NS6+, Firefox 3+, Safari, and Opera 7+. Note that the pointer image disappears if the tooltip is too close to the edges of the browser window.
Installation:
Step 1: Insert the following stylesheet into the <head> section of your page:
<style type="text/css"> #baotrang { margin: 0 auto; width: 700px; padding-top: 250px; } #bienthuy{ position: absolute; left: -300px; width: 150px; border: 1px solid black; padding: 2px; background-color: lightyellow; visibility: hidden; z-index: 100; /*Remove below line to remove shadow. Below line should always appear last within this CSS*/ filter: progid:DXImageTransform.Microsoft.Shadow(color=gray,direction=135); } #huyhoa{ position:absolute; left: -300px; z-index: 101; visibility: hidden; } </style>
Step 2: Insert the below code into the <body> section of your page, outside any other tags, especially relatively or absolutely positioned elements:
<script type="text/javascript"> /* * Shared by BienThuy.Com * www.BienThuy.Com * wWw.HuyHoa.Com * [email protected] * Yahoo: huyhoa * Skype: admin.vtt * Facebook: https://www.facebook.com/bienthuywebsite * Twitter: https://www.twitter.com/bienthuywebsite * @ 2013. All Rights Reserved. */ var offsetfromcursorX=12 //Customize x offset of tooltip var offsetfromcursorY=10 //Customize y offset of tooltip var offsetdivfrompointerX=10 //Customize x offset of tooltip DIV relative to pointer image var offsetdivfrompointerY=14 //Customize y offset of tooltip DIV relative to pointer image. Tip: Set it to (height_of_pointer_image-1). document.write('<div id="bienthuy"></div>') //write out tooltip DIV document.write('<img id="huyhoa" src="/ht/arrow2.gif">') //write out pointer image var ie=document.all var ns6=document.getElementById && !document.all var enabletip=false if (ie||ns6) var tipobj=document.all? document.all["bienthuy"] : document.getElementById? document.getElementById("bienthuy") : "" var pointerobj=document.all? document.all["huyhoa"] : document.getElementById? document.getElementById("huyhoa") : "" function ietruebody(){ return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body } function ddrivetip(thetext, thewidth, thecolor){ if (ns6||ie){ if (typeof thewidth!="undefined") tipobj.style.width=thewidth+"px" if (typeof thecolor!="undefined" && thecolor!="") tipobj.style.backgroundColor=thecolor tipobj.innerHTML=thetext enabletip=true return false } } function positiontip(e){ if (enabletip){ var nondefaultpos=false var curX=(ns6)?e.pageX : event.clientX+ietruebody().scrollLeft; var curY=(ns6)?e.pageY : event.clientY+ietruebody().scrollTop; //Find out how close the mouse is to the corner of the window var winwidth=ie&&!window.opera? ietruebody().clientWidth : window.innerWidth-20 var winheight=ie&&!window.opera? ietruebody().clientHeight : window.innerHeight-20 var rightedge=ie&&!window.opera? winwidth-event.clientX-offsetfromcursorX : winwidth-e.clientX-offsetfromcursorX var bottomedge=ie&&!window.opera? winheight-event.clientY-offsetfromcursorY : winheight-e.clientY-offsetfromcursorY var leftedge=(offsetfromcursorX<0)? offsetfromcursorX*(-1) : -1000 //if the horizontal distance isn't enough to accomodate the width of the context menu if (rightedge<tipobj.offsetWidth){ //move the horizontal position of the menu to the left by it's width tipobj.style.left=curX-tipobj.offsetWidth+"px" nondefaultpos=true } else if (curX<leftedge) tipobj.style.left="5px" else{ //position the horizontal position of the menu where the mouse is positioned tipobj.style.left=curX+offsetfromcursorX-offsetdivfrompointerX+"px" pointerobj.style.left=curX+offsetfromcursorX+"px" } //same concept with the vertical position if (bottomedge<tipobj.offsetHeight){ tipobj.style.top=curY-tipobj.offsetHeight-offsetfromcursorY+"px" nondefaultpos=true } else{ tipobj.style.top=curY+offsetfromcursorY+offsetdivfrompointerY+"px" pointerobj.style.top=curY+offsetfromcursorY+"px" } tipobj.style.visibility="visible" if (!nondefaultpos) pointerobj.style.visibility="visible" else pointerobj.style.visibility="hidden" } } function hideddrivetip(){ if (ns6||ie){ enabletip=false tipobj.style.visibility="hidden" pointerobj.style.visibility="hidden" tipobj.style.left="-1000px" tipobj.style.backgroundColor='' tipobj.style.width='' } } document.onmousemove=positiontip </script>
Step 3: The script uses a pointer image. Download the below:
(right click image, and select “Save As”).
Note that you can use your own custom image in place of the above if you wish.
Step 4: Finally, add the following inside any link or element that will contain a tooltip:
onMouseover="ddrivetip('JavaScriptKit.com JavaScript tutorials', 300)"; onMouseout="hideddrivetip()"
Example: Link: A Href Tag
<a href="https://www.bienthuy.com" onMouseover="ddrivetip('Visit Bien Thuy Website, wWw.BienThuy.Com for more tips and tools')"; onMouseout="hideddrivetip()">Biên Thùy</a> || <a href="https://www.tinhcaviet.com" onMouseover="ddrivetip('Visit Tinh Ca Viet for Music and Funny Pictures')"; onMouseout="hideddrivetip()">Tình Ca Việt</a> || <a href="https://www.huyhoa.com" onMouseover="ddrivetip('Visit Huy Hoa Website')"; onMouseout="hideddrivetip()">Huy Hòa</a>
In DIV tag:
<div onMouseover="ddrivetip('Bien Thuy\'s Site', 250)"; onMouseout="hideddrivetip()">This is a DIV. This is a DIV.</div>