Home     |     .Net Programming    |     cSharp Home    |     Sql Server Home    |     Javascript / Client Side Development     |     Ajax Programming

Ruby on Rails Development     |     Perl Programming     |     C Programming Language     |     C++ Programming     |     IT Jobs

Python Programming Language     |     Laptop Suggestions?    |     TCL Scripting     |     Fortran Programming     |     Scheme Programming Language


 
 
Cervo Technologies
The Right Source to Outsource

MS Dynamics CRM 3.0

Javascript / Client Side Development

working out the order of elements in a containing div


hi all

im looking for help on how you can track the order of elements in a
parent div when these elements are dragable (with scriptaculous)?

I tihnk i need to write a function that is called everytime i drag
something, that works out the order of elements in a div. can anyone
help me with this? how would i iterate over the child elements of a
div retrieving their id's in an array.

libsfan01 a crit :

> hi all

> im looking for help on how you can track the order of elements in a
> parent div when these elements are dragable (with scriptaculous)?

Does drag-&-drop change order of these elements, or does that only
change their position ? (styles top, left ... z-index )

> I tihnk i need to write a function that is called everytime i drag
> something, that works out the order of elements in a div.

Certainly yours elements know themselves where (which position) they
are, you only have to ask them : "where are you ?".

> how would i iterate over the child elements of a
> div retrieving their id's in an array.

Array of divs direct children of a div

  childs = new Array();
  var c = document.getElementById('myDiv').getElementsByTagName('DIV');
  var k = 0;
  for(var i=0; i<c.length; i++)
   if('myDiv' == c[i].parentNode.id) {
    childs[k]  = c[i].id;
    k++;
    }
   alert(childs);

Array of all elements direct children of a div

  childs = new Array();
  var c = document.getElementById('myDiv').getElementsByTagName('*');
  var k = 0;
  for(var i=0; i<c.length; i++)
   if('myDiv' == c[i].parentNode.id) {
    childs[k]  = c[i].id;
    k++;
    }
   alert(childs);

--
Stephane Moriaux et son (moins) vieux Mac dj dpass
Stephane Moriaux and his (less) old Mac already out of date

libsfan01 wrote:
> hi all

> im looking for help on how you can track the order of elements in a
> parent div when these elements are dragable (with scriptaculous)?

parentDiv.getElementsByTagName('*') will return all the elements in
order according to the DOM tree.  If you want some other order, say
based on spatial position, you'll have to look at the position of each
element and look on the coordinates of whatever reference point suits
(top left or center are two obvious ones).

<URL: http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-A6C9094 >

> I tihnk i need to write a function that is called everytime i drag
> something, that works out the order of elements in a div. can anyone
> help me with this? how would i iterate over the child elements of a
> div retrieving their id's in an array.

getElementsByTagName returns a NodeList which is similar to an array in
that it has a length property that you can use to iterate over the
collection.  It is also live, which an array is not, so you only need to
get a reference to it once and it will reflect the state of the
collection at the instant you access it.

--
Rob
  "We shall not cease from exploration, and the end of all our
   exploring will be to arrive where we started and know the
   place for the first time." -- T. S. Eliot

Add to del.icio.us | Digg this | Stumble it | Powered by Megasolutions Inc