• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

mein script

nepoznat

Neues Mitglied
könnt ihr den script hier vlt. etwas verbessern. dieser sortier ca 50 div tags immer neu allerdings kommt es oft vor dass nach 3 mal aktualiesieren noch immer die divs fast an der gleichen stelle sind

<script type="text/javascript">


liste=document.getElementsByTagName('wrapper')[0].getElementsByTagName('div');
for(i=0;i<liste.length;++i)
{
rand=Math.round(Math.random()*(liste.length-1));
if(rand==i)continue;
liste.parentNode.insertBefore(liste,liste[rand])
}

</script>
 
Wieso eigentlich

Code:
liste.length-1

? Lass das -1 mal weg, dadurch verringerst Du in geringem Umfang den Bereich in dem die Zufallszahl ermittelt wird. Wenn Du nur 3 oder 4 Elemente hast, dann könnte das schon zu dem Effekt führen den Du beschreibst.
 
so wie ich das sehe, machst du mit:
Code:
if(rand==i)continue;
dem elent klar... bleib wo du bist, ich beschäftige mich mit dem nächsten.... wäre es nicht besser, dann lieber nochmal zu würfeln, und nicht das element an gleicher stelle zu lassen? Nur so ein Gedankenanstoß....
 
@threadi: wenn ich es weglasse passiert eigentlich gar nichts.. also kein unterschied zu davor.

@Paric: genau so mein ich dass man nochmal würfelt dann.. aber wie mache ich das am besten in meinem script ??
 
also ich würde das so lösen:

Code:
if(rand==i) {
  --i;
} else {
  liste[i].parentNode.insertBefore(liste[i],liste[rand]);
}

gibt vielleicht leichtere Wege, aber der sollte funtionieren...

Gruß,
Paric
 
Zurück
Oben