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