📄 tooltip.js
字号:
/* vim: set expandtab sw=4 ts=4 sts=4: *//** * Displays the Tooltips (hints), if we have some * 2005-01-20 added by Michael Keck (mkkeck) * * @version $Id: tooltip.js 11348 2008-06-25 17:01:31Z lem9 $ *//** * */var ttXpos = 0, ttYpos = 0;var ttXadd = 10, ttYadd = -10;var ttDisplay = 0, ttHoldIt = 0;// Check if browser does support dynamic content and dhtmlif (document.getElementById) { // DOM-compatible browsers var ttDOM = 1;} else { // the old Netscape 4 var ttNS4 = (document.layers) ? 1 : 0; // browser wich uses document.all var ttIE4 = (document.all) ? 1 : 0;}var myTooltipContainer = null;/** * initialize tooltip */function PMA_TT_init(){ // get all 'light bubbles' on page var tooltip_icons = window.parent.getElementsByClassName('footnotemarker', document, 'sup'); var tooltip_count = tooltip_icons.length; if (tooltip_count < 1) { // no 'bubbles' found return; } // insert tooltip container myTooltipContainer = document.createElement("div"); myTooltipContainer.id = 'TooltipContainer'; window.parent.addEvent(myTooltipContainer, 'mouseover', holdTooltip); window.parent.addEvent(myTooltipContainer, 'mouseout', swapTooltip); document.body.appendChild(myTooltipContainer); // capture mouse-events for (i = 0; i < tooltip_count; i++) { window.parent.addEvent(tooltip_icons[i], 'mousemove', mouseMove); window.parent.addEvent(tooltip_icons[i], 'mouseover', pmaTooltip); window.parent.addEvent(tooltip_icons[i], 'mouseout', swapTooltip); }}/** * init the tooltip and write the text into it * * @param string theText tooltip content */function PMA_TT_setText(theText){ if (ttDOM || ttIE4) { // document.getEelementById || document.all myTooltipContainer.innerHTML = ""; // we should empty it first myTooltipContainer.innerHTML = theText; } else if (ttNS4) { // document.layers var layerNS4 = myTooltipContainer.document; layerNS4.write(theText); layerNS4.close(); }}/** * @var integer */var ttTimerID = 0;/** * swap the Tooltip // show and hide * * @param boolean stat view status */function swapTooltip(stat){ if (ttHoldIt != 1) { if (stat == 'true') { showTooltip(true); } else if (ttDisplay) { ttTimerID = setTimeout("showTooltip(false);", 500); } else { showTooltip(true); } } else { if (ttTimerID) { clearTimeout(ttTimerID); ttTimerID = 0; } showTooltip(true); }}/** * show / hide the Tooltip * * @param boolean stat view status */function showTooltip(stat){ if (stat == false) { if (ttNS4) myTooltipContainer.visibility = "hide"; else myTooltipContainer.style.visibility = "hidden"; ttDisplay = 0; } else { if (ttNS4) myTooltipContainer.visibility = "show"; else myTooltipContainer.style.visibility = "visible"; ttDisplay = 1; }}/** * hold it, if we create or move the mouse over the tooltip */function holdTooltip(){ ttHoldIt = 1; swapTooltip('true'); ttHoldIt = 0;}/** * move the tooltip to mouse position * * @param integer posX horiz. position * @param integer posY vert. position */function moveTooltip(posX, posY){ if (ttDOM || ttIE4) { myTooltipContainer.style.left = posX + "px"; myTooltipContainer.style.top = posY + "px"; } else if (ttNS4) { myTooltipContainer.left = posX; myTooltipContainer.top = posY; }}/** * build the tooltip * usally called from eventhandler * * @param string theText tooltip content */function pmaTooltip(e){ var theText = document.getElementById('footnote_' + this.innerHTML).innerHTML; var plusX = 0, plusY = 0, docX = 0, docY = 0; var divHeight = myTooltipContainer.clientHeight; var divWidth = myTooltipContainer.clientWidth; if (navigator.appName.indexOf("Explorer") != -1) { // IE ... if (document.documentElement && document.documentElement.scrollTop) { plusX = document.documentElement.scrollLeft; plusY = document.documentElement.scrollTop; docX = document.documentElement.offsetWidth + plusX; docY = document.documentElement.offsetHeight + plusY; } else { plusX = document.body.scrollLeft; plusY = document.body.scrollTop; docX = document.body.offsetWidth + plusX; docY = document.body.offsetHeight + plusY; } } else { docX = document.body.clientWidth; docY = document.body.clientHeight; } ttXpos = ttXpos + plusX; ttYpos = ttYpos + plusY; if ((ttXpos + divWidth) > docX) ttXpos = ttXpos - (divWidth + (ttXadd * 2)); if ((ttYpos + divHeight) > docY) ttYpos = ttYpos - (divHeight + (ttYadd * 2)); PMA_TT_setText(theText); moveTooltip((ttXpos + ttXadd), (ttYpos + ttYadd)); holdTooltip();}/** * register mouse moves * * @param event e */function mouseMove(e) { if ( typeof( event ) != 'undefined' ) { ttXpos = event.x; ttYpos = event.y; } else { ttXpos = e.pageX; ttYpos = e.pageY; } moveTooltip((ttXpos + ttXadd), (ttYpos + ttYadd));}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -