Topic: cursor position (Page 1 of 1)  | 
  |
|---|---|
| 
       Paranoid (IV) Inmate From: INFRONT OF MY PC  | 
    
       
  posted 09-02-2006 16:24
      
      i'm trying to detect the cursorpostion on click heres my js code: var IE = document.all?true:false
		
		var tempX = 0
		var tempY = 0
		
		if(IE){ // grab the x-y pos.s if browser is IE
		tempX = event.clientX + document.body.scrollLeft
		tempY = event.clientY + document.body.scrollTop
		}else{ // grab the x-y pos.s if browser is NS
		tempX = e.pageY
		tempY = e.pageX
		}
  | 
  
| 
       Paranoid (IV) Inmate From: Norway  | 
    
       
  posted 09-02-2006 16:35
      
      introspect the event object to see which property to pick. code: bla = ''
for( key in e )
    bla += key +' = '+ e[key +'\n';
alert( bla )Oh, and you shouldn't try to detect a browser, but some features. Hence your code should be: code: var e = event||e; tempX = document.body.scrollLeft+ (e.clientX||e.pageX); tempY = document.body.scrollTop+ (e.clientY||e.pageY);  | 
  
| 
       Paranoid (IV) Inmate From: INFRONT OF MY PC  | 
    
       
  posted 09-02-2006 16:50
      
      ok the somethiong strange going on code: var tempX = 0; var tempY = 0; //step1 var e = event||e; //step2 tempX = document.body.scrollLeft+ (e.clientX||e.pageX); tempY = document.body.scrollTop+ (e.clientY||e.pageY); 
  | 
  
| 
       Paranoid (IV) Inmate From: Norway  | 
    
       
  posted 09-02-2006 17:12
      
      
     | 
  
| 
       Paranoid (IV) Inmate From: INFRONT OF MY PC  | 
    
       
  posted 09-02-2006 17:26
      
      ok something is completely wrong here i uploded it if it helps ..it's probably me thinking wrong, this happens   | 
  
| 
       Maniac (V) Inmate From:   | 
    
       
  posted 09-02-2006 17:54
      
      Works in Op and IE. probably an event bubbling issue. Care to try to window.status the x/y offsets? I am in a lazy, but still supportive mood..  | 
  
| 
       Paranoid (IV) Inmate From: Norway  | 
    
       
  posted 09-02-2006 18:01
      
      /me fires FireFox and will fix the script. Hold on.  | 
  
| 
       Maniac (V) Inmate From:   | 
    
       
  posted 09-02-2006 18:25
      
      @poi, "give a man a fish.." I don't need to learn event handlers.  | 
  
| 
       Paranoid (IV) Inmate From: Norway  | 
    
       
  posted 09-02-2006 18:41
      
      Blacknight: I got the CSS+JS thing working. It takes ~4 lines of JS.  | 
  
| 
       Paranoid (IV) Inmate From: INFRONT OF MY PC  | 
    
       
  posted 09-02-2006 19:42
      
      ok will give it a nother go  | 
  
| 
       Paranoid (IV) Inmate From: INFRONT OF MY PC  | 
    
       
  posted 09-02-2006 20:25
      
      ok poi i surender could you hand over that bit of code ...if you could give an explanation to it ..would be great thanks!  | 
  
| 
       Maniac (V) Inmate From:   | 
    
       
  posted 09-02-2006 20:28
      
      (it's all up to poi now. - suspense - I personally would give an answer and a little explanation about the why's. In the meantime, if I was bk I'd google  | 
  
| 
       Paranoid (IV) Inmate From: Norway  | 
    
       
  posted 09-02-2006 20:33
      
      
 code: <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>
<html>
<head>
<style type='text/css'>
#theUl .details
{
	display:none;
}
#theUl.community	#community	.details,
#theUl.management	#management	.details,
#theUl.blogs		#blogs		.details
{
	display:inline;
	position:relative;
	top:1em;
	left:-.5em;
	background:pink;
	padding:.25em;
}
</style>
<script type='text/javascript'>
function showdetails( detail )
{
	if( theUlHandle = document.getElementById( 'theUl' ) )
		theUlHandle.className = theUlHandle.className==detail?'':detail;
	document.body.id = document.body.id;	//	force a redraw, don't ask
}
</script>
</head>
<body>
	<ul id='theUl'>
		<li id='community'>
			<a href='#' onclick='showdetails("community")'>community</a>
			<div class='details'>
				<a href='http://en.wikipedia.org/wiki/community'>wikipedia:community</a>
			</div>
		</li>
		<li id='management'>
			<a href='#' onclick='showdetails("management")'>management</a>
			<div class='details'>
				<a href='http://en.wikipedia.org/wiki/management'>wikipedia:management</a>
			</div>
		</li>
		<li id='blogs'>
			<a href='#' onclick='showdetails("blogs")'>blogs</a>
			<div class='details'>
				<a href='http://en.wikipedia.org/wiki/blogs'>wikipedia:blogs</a>
			</div>
		</li>
	</ul>
</body>
</html>Do you need some explanations ?  | 
  
| 
       Paranoid (IV) Inmate From: INFRONT OF MY PC  | 
    
       
  posted 09-02-2006 20:45
      
      why this:  code: #theUl.community #community .details, #theUl.management #management .details, #theUl.blogs #blogs .details 
  | 
  
| 
       Paranoid (IV) Inmate From: Norway  | 
    
       
  posted 09-02-2006 20:50
      
      
     | 
  
| 
       Paranoid (IV) Inmate From: INFRONT OF MY PC  | 
    
       
  posted 09-02-2006 20:51
      
      yes but if this list gets expand to about 100 entries ..thats alot of css  | 
  
| 
       Paranoid (IV) Inmate From: Norway  | 
    
       
  posted 09-02-2006 20:56
      
      Ok you've got a point.  | 
  
| 
       Paranoid (IV) Inmate From: INFRONT OF MY PC  | 
    
       
  posted 09-02-2006 20:57
      
      not exactly  | 
  
| 
       Paranoid (IV) Inmate From: Norway  | 
    
       
  posted 09-02-2006 21:23
      
      code: <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>
<html>
<head>
<style type='text/css'>
.details
{
	display:none;
	position:relative;
	top:1em;
	left:-.5em;
	background:pink;
	padding:.25em;}
}
</style>
<script type='text/javascript'>
detailsHandle = null
function showdetails( where )
{
	//	search the 'details' around the tag that called this function
	while( where && where.className!='details' )
		where = where.nextSibling;
	//	toggle the display of the new 'details'
	if( where )
		where.style.display = where.style.display!='inline'?'inline':'none';
	//	hide the previous 'details'
	if( detailsHandle && where!=detailsHandle )
		detailsHandle.style.display = 'none';
	//	remember the handle of the new 'details'
	detailsHandle = where
	document.body.id = document.body.id;	//	force a redraw, don't ask
}
</script>
</head>
<body>
	<ul>
		<li>
			<a href='#' onclick='showdetails(this)'>community</a>
			<div class='details'>
				<a href='http://en.wikipedia.org/wiki/community'>wikipedia:community</a>
			</div>
		</li>
		<li>
			<a href='#' onclick='showdetails(this)'>management</a>
			<div class='details'>
				<a href='http://en.wikipedia.org/wiki/management'>wikipedia:management</a>
			</div>
		</li>
		<li>
			<a href='#' onclick='showdetails(this)'>blogs</a>
			<div class='details'>
				<a href='http://en.wikipedia.org/wiki/blogs'>wikipedia:blogs</a>
			</div>
		</li>
	</ul>
</body>
</html> | 
  
| 
       Paranoid (IV) Inmate From: INFRONT OF MY PC  | 
    
       
  posted 09-02-2006 21:28
      
      may i call you my god??   |