Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Javascript > Finding all elements on specific coordinates

Reply
Thread Tools

Finding all elements on specific coordinates

 
 
Rainer Kugeland
Guest
Posts: n/a
 
      07-21-2003
Two problems regarding coordinates:

a) When I click in the screen then I can easyly find the element on the
current corrdinates. But is there a way to find the elements which are
behind the fist on the z-axis?

b) Is there a fast way to find all elements which are within specific
coordinates like 100,100 and 200,200? Currently I walk through the whole
tree and calculate the absolute positions of each elements. It works but
it's really slow.

RK

 
Reply With Quote
 
 
 
 
Yep
Guest
Posts: n/a
 
      07-22-2003
http://www.velocityreviews.com/forums/(E-Mail Removed) (Yep) wrote in message news:<(E-Mail Removed). com>...
> Rainer Kugeland <(E-Mail Removed)> wrote in message news:<bfgdgi$2cs$07$(E-Mail Removed)-online.com>...
>
> > b) Is there a fast way to find all elements which are within specific
> > coordinates like 100,100 and 200,200? Currently I walk through the whole
> > tree and calculate the absolute positions of each elements. It works but
> > it's really slow.

>
> Not really surprising, if you want to increase speed (apart from
> regular code optimization such as reference keeping) I'm afraid you'll
> have to change the structure, be it HTML-side with the DOM tree
> (nesting HTML elements, therefore taking advantage of events bubbling)
> or javascript-side with some kind of naming conventions (IDs) and
> maybe related navigation rules. It all depends on _what_ you're trying
> to achieve...


Actually in IE only you could also give a look at the elementFromPoint
method, maybe using something near the following (slightly tested
only):


<style type="text/css">
div{position:absolute;left:10px;top:10px;width:100 px;height:100px;}
</style>

<div id="d1" style="background:#f00;z-index:10">Hello</div>
<div id="d2" style="background:#0f0;z-index:20">Hello</div>
<div id="d3" style="background:#00f;z-index:30">Hello</div>

<script type="text/javascript">
document.onclick=function(evt){
var e=window.event, d=document;
if(e && d.elementFromPoint){
var n=e.srcElement, el=n, elems=[];
do {
elems.push(el);
el.style.zIndex = (el.style.zIndex||0)-1000;
el=d.elementFromPoint(e.x, e.y);
} while(el!=n);
elems.toString=function(){
var buf=[];
for(var ii=0; ii<this.length; ii++)
buf.push(this[ii].id);
return buf.join(", ");
}
alert(elems);
for(var ii=0; ii<elems.length; ii++)
elems[ii].style.zIndex = +elems[ii].style.zIndex + 1000;
}
}
</script>
 
Reply With Quote
 
 
 
 
Rainer Kugeland
Guest
Posts: n/a
 
      07-23-2003
Yep,

thanks for the example. I'll play around with it a bit.
I also think about skipping leafes when the parent leaf is already out
of bounds. But I'm still unsure because in this case I'll loose all
layers which are positioned absolutely...

RK

> Actually in IE only you could also give a look at the elementFromPoint
> method, maybe using something near the following (slightly tested
> only):
>
>
> <style type="text/css">
> div{position:absolute;left:10px;top:10px;width:100 px;height:100px;}
> </style>
>
> <div id="d1" style="background:#f00;z-index:10">Hello</div>
> <div id="d2" style="background:#0f0;z-index:20">Hello</div>
> <div id="d3" style="background:#00f;z-index:30">Hello</div>
>
> <script type="text/javascript">
> document.onclick=function(evt){
> var e=window.event, d=document;
> if(e && d.elementFromPoint){
> var n=e.srcElement, el=n, elems=[];
> do {
> elems.push(el);
> el.style.zIndex = (el.style.zIndex||0)-1000;
> el=d.elementFromPoint(e.x, e.y);
> } while(el!=n);
> elems.toString=function(){
> var buf=[];
> for(var ii=0; ii<this.length; ii++)
> buf.push(this[ii].id);
> return buf.join(", ");
> }
> alert(elems);
> for(var ii=0; ii<elems.length; ii++)
> elems[ii].style.zIndex = +elems[ii].style.zIndex + 1000;
> }
> }
> </script>


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
XML parsing problem finding a specific element in a specific place mazdotnet ASP .Net 2 10-02-2009 10:07 AM
Finding elements without specific descendants mwebb415@yahoo.com XML 2 07-25-2007 06:10 PM
Finding mouse coordinates Pallavi Javascript 2 12-02-2003 03:13 AM
Converting canvas coordinates to window coordinates in tkinter......... Suresh Kumar Python 0 07-04-2003 10:14 AM
Converting canvas coordinates to window coordinates....... Suresh Kumar Python 0 07-03-2003 04:53 AM



Advertisments