Heren,
Ik breek m'n hoofd hier.
Ik wil nadat de pagina gerenderd is, een aantal DOM elementen sorteren op hun absolute posities. Dus met behulp van jQuery.
Elementen zijn bijv als
<div style="position:absolute;left:0;top:250px;">blabla</div>
<div style="position:absolute;left:0;top:500px;">blabla</div>
<div style="position:absolute;left:100px;top:500px;">blabla</div>
<div style="position:absolute;left:0;top:30px;">blabla</div>
<div style="position:absolute;left:0;top:750px;">blabla</div>
Ze staan dus door elkaar. Wat ik graag wil is dat ze (zoals ze zichtbaar zijn voor het oog) gepositioneerd worden in de DOM. Van linksboven naar rechtsonderen...
Zelf had ik dit;
Maar dat werkt (nog) niet goed...
Ik breek m'n hoofd hier.
Ik wil nadat de pagina gerenderd is, een aantal DOM elementen sorteren op hun absolute posities. Dus met behulp van jQuery.
Elementen zijn bijv als
<div style="position:absolute;left:0;top:250px;">blabla</div>
<div style="position:absolute;left:0;top:500px;">blabla</div>
<div style="position:absolute;left:100px;top:500px;">blabla</div>
<div style="position:absolute;left:0;top:30px;">blabla</div>
<div style="position:absolute;left:0;top:750px;">blabla</div>
Ze staan dus door elkaar. Wat ik graag wil is dat ze (zoals ze zichtbaar zijn voor het oog) gepositioneerd worden in de DOM. Van linksboven naar rechtsonderen...
Zelf had ik dit;
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| childelements.detach().sort(function(a, b) {
if ($(a).css('top') <= $(b).css('top'))
{
return -1;
}
else if ($(a).css('top') > $(b).css('top'))
{
return 1;
}
else if ($(a).css('top') == $(b).css('top') && $(a).css('left') <= $(b).css('left'))
{
return -1;
}
else
{
return 1;
}
}); |
Maar dat werkt (nog) niet goed...
Professioneel Heftruck Syndroom