Connecting Tech Pros Worldwide Forums | Help | Site Map

Javascript mouse location

Newbie
 
Join Date: Mar 2007
Posts: 19
#1: Mar 9 '07
Hi all,

I use IE, and I am trying to display a tooltip using javascript.
the problem is that the tooltip is not apearing where I want it to be.
I am getting the mouse location using clientX and clientY to display a div at the specified location, the problem happens when the page is scrolled down.
any help would be appreciated.

here is the code:


[HTML]<html>
<head>
<title>Style Example</title>
<script type="text/javascript">
function showTip(oEvent) {
var oDiv = document.getElementById("divTip1");
oDiv.style.visibility = "visible";
oDiv.style.left = oEvent.clientX + 5;
oDiv.style.top = oEvent.clientY + 5;
}
function hideTip(oEvent) {
var oDiv = document.getElementById("divTip1");
oDiv.style.visibility = "hidden";
}
</script>
</head>
<body>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>

<p>Move your mouse over the red square.</p>
<div id="div1"
style="background-color: red; height: 50px; width: 50px"
onmouseover="showTip(event)" onmouseout="hideTip(event)"></div>
<div id="divTip1"
style="background-color: yellow; position: absolute; visibility:
hidden; padding: 5px">
<span style="font-weight: bold">Custom Tooltip</span><br />
More details can go here.
</div>
</body>
</html>[/HTML]

Needs Regular Fix
 
Join Date: Jun 2006
Posts: 424
#2: Mar 9 '07

re: Javascript mouse location


This code takes into account any window scroll values and returns a two integer (x,y) array for the cursor position.
Expand|Select|Wrap|Line Numbers
  1. function whereAt(e){
  2.     e= e || window.event;
  3.     var pX= (e.clientX) || 0;
  4.     var pY= (e.clientY) || 0;
  5.     if(window.pageXOffset != undefined){
  6.         pX+= window.pageXOffset;
  7.         pY+= window.pageYOffset;
  8.     }
  9.     else if(document.body.scrollTop != undefined){
  10.         var d= document.documentElement;
  11.         var b= document.body;
  12.         pX+= d.scrollLeft+b.scrollLeft;
  13.         pY+= d.scrollTop+ b.scrollTop;
  14.     }
  15.     return  [pX,pY];
  16. }
Newbie
 
Join Date: Mar 2007
Posts: 19
#3: Mar 9 '07

re: Javascript mouse location


the solution worked,
thx a lot mrhoo .
Reply


Similar JavaScript / Ajax / DHTML bytes