[ Index ] |
|
Code source de phpMyAdmin 2.10.3 |
1 /* $Id: tooltip.js 7886 2005-11-23 19:10:30Z nijel $ */ 2 3 4 /** 5 * Displays the Tooltips (hints), if we have some 6 * 2005-01-20 added by Michael Keck (mkkeck) 7 */ 8 9 var ttXpos = 0, ttYpos = 0; 10 var ttXadd = 10, ttYadd = -10; 11 var ttDisplay = 0, ttHoldIt = 0; 12 // Check if browser does support dynamic content and dhtml 13 var ttNS4 = (document.layers) ? 1 : 0; // the old Netscape 4 14 var ttIE4 = (document.all) ? 1 : 0; // browser wich uses document.all 15 var ttDOM = (document.getElementById) ? 1 : 0; // DOM-compatible browsers 16 if (ttDOM) { // if DOM-compatible, set the others to false 17 ttNS4 = 0; 18 ttIE4 = 0; 19 } 20 21 var myTooltipContainer = null; 22 23 if ( (ttDOM) || (ttIE4) || (ttNS4) ) { 24 // mouse-event 25 if ( ttNS4 ) { 26 document.captureEvents(Event.MOUSEMOVE); 27 } else { 28 document.onmousemove = mouseMove; 29 } 30 } 31 32 /** 33 * init the tooltip and write the text into it 34 * 35 * @param string theText tooltip content 36 */ 37 function textTooltip(theText) { 38 if (ttDOM || ttIE4) { // document.getEelementById || document.all 39 myTooltipContainer.innerHTML = ""; // we should empty it first 40 myTooltipContainer.innerHTML = theText; 41 } else if (ttNS4) { // document.layers 42 var layerNS4 = myTooltipContainer.document; 43 layerNS4.write(theText); 44 layerNS4.close(); 45 } 46 } 47 48 /** 49 * @var integer 50 */ 51 var ttTimerID = 0; 52 53 /** 54 * swap the Tooltip // show and hide 55 * 56 * @param boolean stat view status 57 */ 58 function swapTooltip(stat) { 59 if (ttHoldIt!=1) { 60 if (stat!='default') { 61 if (stat=='true') 62 showTooltip(true); 63 else if (stat=='false') 64 showTooltip(false); 65 } else { 66 if (ttDisplay) 67 ttTimerID = setTimeout("showTooltip(false);",500); 68 else 69 showTooltip(true); 70 } 71 } else { 72 if (ttTimerID) { 73 clearTimeout(ttTimerID); 74 ttTimerID = 0; 75 } 76 showTooltip(true); 77 } 78 } 79 80 /** 81 * show / hide the Tooltip 82 * 83 * @param boolean stat view status 84 */ 85 function showTooltip(stat) { 86 if (stat==false) { 87 if (ttNS4) 88 myTooltipContainer.visibility = "hide"; 89 else 90 myTooltipContainer.style.visibility = "hidden"; 91 ttDisplay = 0; 92 } else { 93 if (ttNS4) 94 myTooltipContainer.visibility = "show"; 95 else 96 myTooltipContainer.style.visibility = "visible"; 97 ttDisplay = 1; 98 } 99 } 100 /** 101 * hold it, if we create or move the mouse over the tooltip 102 */ 103 function holdTooltip() { 104 ttHoldIt = 1; 105 swapTooltip('true'); 106 ttHoldIt = 0; 107 } 108 109 /** 110 * move the tooltip to mouse position 111 * 112 * @param integer posX horiz. position 113 * @param integer posY vert. position 114 */ 115 function moveTooltip(posX, posY) { 116 if (ttDOM || ttIE4) { 117 myTooltipContainer.style.left = posX + "px"; 118 myTooltipContainer.style.top = posY + "px"; 119 } else if (ttNS4) { 120 myTooltipContainer.left = posX; 121 myTooltipContainer.top = posY; 122 } 123 } 124 125 /** 126 * build the tooltip 127 * 128 * @param string theText tooltip content 129 */ 130 function pmaTooltip( theText ) { 131 // reference to TooltipContainer 132 if ( null == myTooltipContainer ) { 133 if (ttNS4) { 134 myTooltipContainer = document.TooltipContainer; 135 } else if (ttIE4) { 136 myTooltipContainer = document.all('TooltipContainer'); 137 } else if (ttDOM) { 138 myTooltipContainer = document.getElementById('TooltipContainer'); 139 } else { 140 return; 141 } 142 143 if ( typeof( myTooltipContainer ) == 'undefined' ) { 144 return; 145 } 146 } 147 148 var plusX=0, plusY=0, docX=0, docY=0; 149 var divHeight = myTooltipContainer.clientHeight; 150 var divWidth = myTooltipContainer.clientWidth; 151 if (navigator.appName.indexOf("Explorer")!=-1) { 152 if (document.documentElement && document.documentElement.scrollTop) { 153 plusX = document.documentElement.scrollLeft; 154 plusY = document.documentElement.scrollTop; 155 docX = document.documentElement.offsetWidth + plusX; 156 docY = document.documentElement.offsetHeight + plusY; 157 } else { 158 plusX = document.body.scrollLeft; 159 plusY = document.body.scrollTop; 160 docX = document.body.offsetWidth + plusX; 161 docY = document.body.offsetHeight + plusY; 162 } 163 } else { 164 docX = document.body.clientWidth; 165 docY = document.body.clientHeight; 166 } 167 168 ttXpos = ttXpos + plusX; 169 ttYpos = ttYpos + plusY; 170 171 if ((ttXpos + divWidth) > docX) 172 ttXpos = ttXpos - (divWidth + (ttXadd * 2)); 173 if ((ttYpos + divHeight) > docY) 174 ttYpos = ttYpos - (divHeight + (ttYadd * 2)); 175 176 textTooltip(theText); 177 moveTooltip((ttXpos + ttXadd), (ttYpos + ttYadd)); 178 holdTooltip(); 179 } 180 181 /** 182 * register mouse moves 183 * 184 * @param event e 185 */ 186 function mouseMove(e) { 187 if ( typeof( event ) != 'undefined' ) { 188 ttXpos = event.x; 189 ttYpos = event.y; 190 } else { 191 ttXpos = e.pageX; 192 ttYpos = e.pageY; 193 } 194 }
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Mon Nov 26 15:18:20 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |