Team:Imperial College London/test10
From 2011.igem.org
(Difference between revisions)
Line 1: | Line 1: | ||
<html> | <html> | ||
<head> | <head> | ||
+ | |||
<style type="text/css"> | <style type="text/css"> | ||
- | # | + | |
- | position: absolute | + | #fixedtipdiv{ |
- | + | position:absolute; | |
- | + | ||
padding: 2px; | padding: 2px; | ||
- | + | border:1px solid black; | |
- | + | font:normal 12px Verdana; | |
- | z-index: 100 | + | line-height:18px; |
- | + | z-index:100; | |
- | + | ||
} | } | ||
+ | |||
</style> | </style> | ||
</head> | </head> | ||
- | |||
<body> | <body> | ||
- | |||
- | |||
<script type="text/javascript"> | <script type="text/javascript"> | ||
/*********************************************** | /*********************************************** | ||
- | * | + | * Fixed ToolTip script- © Dynamic Drive (www.dynamicdrive.com) |
* This notice MUST stay intact for legal use | * This notice MUST stay intact for legal use | ||
- | * Visit | + | * Visit http://www.dynamicdrive.com/ for full source code |
***********************************************/ | ***********************************************/ | ||
+ | |||
+ | var tipwidth='150px' //default tooltip width | ||
+ | var tipbgcolor='lightyellow' //tooltip bgcolor | ||
+ | var disappeardelay=250 //tooltip disappear speed onMouseout (in miliseconds) | ||
+ | var vertical_offset="0px" //horizontal offset of tooltip from anchor link | ||
+ | var horizontal_offset="-3px" //horizontal offset of tooltip from anchor link | ||
- | + | /////No further editting needed | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | function | + | var ie4=document.all |
- | + | var ns6=document.getElementById&&!document.all | |
+ | |||
+ | if (ie4||ns6) | ||
+ | document.write('<div id="fixedtipdiv" style="visibility:hidden;width:'+tipwidth+';background-color:'+tipbgcolor+'" ></div>') | ||
+ | |||
+ | function getposOffset(what, offsettype){ | ||
+ | var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop; | ||
+ | var parentEl=what.offsetParent; | ||
+ | while (parentEl!=null){ | ||
+ | totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop; | ||
+ | parentEl=parentEl.offsetParent; | ||
+ | } | ||
+ | return totaloffset; | ||
} | } | ||
- | function | + | |
- | if ( | + | function showhide(obj, e, visible, hidden, tipwidth){ |
- | + | if (ie4||ns6) | |
- | if ( | + | dropmenuobj.style.left=dropmenuobj.style.top=-500 |
- | + | if (tipwidth!=""){ | |
- | + | dropmenuobj.widthobj=dropmenuobj.style | |
- | + | dropmenuobj.widthobj.width=tipwidth | |
} | } | ||
+ | if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover") | ||
+ | obj.visibility=visible | ||
+ | else if (e.type=="click") | ||
+ | obj.visibility=hidden | ||
} | } | ||
- | function | + | function iecompattest(){ |
- | + | return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body | |
- | + | } | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | var | + | function clearbrowseredge(obj, whichedge){ |
+ | var edgeoffset=(whichedge=="rightedge")? parseInt(horizontal_offset)*-1 : parseInt(vertical_offset)*-1 | ||
+ | if (whichedge=="rightedge"){ | ||
+ | var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15 | ||
+ | dropmenuobj.contentmeasure=dropmenuobj.offsetWidth | ||
+ | if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure) | ||
+ | edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth | ||
+ | } | ||
+ | else{ | ||
+ | var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18 | ||
+ | dropmenuobj.contentmeasure=dropmenuobj.offsetHeight | ||
+ | if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure) | ||
+ | edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight | ||
+ | } | ||
+ | return edgeoffset | ||
+ | } | ||
- | + | function fixedtooltip(menucontents, obj, e, tipwidth){ | |
- | if ( | + | if (window.event) event.cancelBubble=true |
- | + | else if (e.stopPropagation) e.stopPropagation() | |
- | + | clearhidetip() | |
- | + | dropmenuobj=document.getElementById? document.getElementById("fixedtipdiv") : fixedtipdiv | |
- | + | dropmenuobj.innerHTML=menucontents | |
- | + | ||
- | + | ||
- | + | ||
- | + | if (ie4||ns6){ | |
- | if ( | + | showhide(dropmenuobj.style, e, "visible", "hidden", tipwidth) |
- | + | dropmenuobj.x=getposOffset(obj, "left") | |
- | + | dropmenuobj.y=getposOffset(obj, "top") | |
- | + | dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px" | |
- | + | dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px" | |
} | } | ||
} | } | ||
- | function | + | function hidetip(e){ |
- | if ( | + | if (typeof dropmenuobj!="undefined"){ |
- | + | if (ie4||ns6) | |
- | + | dropmenuobj.style.visibility="hidden" | |
- | + | ||
- | + | ||
- | + | ||
} | } | ||
} | } | ||
- | + | function delayhidetip(){ | |
+ | if (ie4||ns6) | ||
+ | delayhide=setTimeout("hidetip()",disappeardelay) | ||
+ | } | ||
+ | |||
+ | function clearhidetip(){ | ||
+ | if (typeof delayhide!="undefined") | ||
+ | clearTimeout(delayhide) | ||
+ | } | ||
</script> | </script> | ||
+ | <a href="http://www.javascriptkit.com" onMouseover="fixedtooltip('Comprehensive JavaScript tutorials and over 400+ <b>free</b> scripts.', this, event, '150px')" onMouseout="delayhidetip()">JavaScript Kit</a> | | ||
- | <a href="http://www. | + | <a href="http://www.codingforums.com" onMouseover="fixedtooltip('Web coding and development forums. This tooltip has an apostrophe- I\'m here.', this, event, '200px')" onMouseout="delayhidetip()">CodingForums.com</a> |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
</body> | </body> | ||
</html> | </html> |
Revision as of 20:31, 21 September 2011
JavaScript Kit | CodingForums.com