Générer de l'aléatoire de la position de l'élément et d'éviter les chevauchements en JavaScript

J'ai un titulaire de la div sur la page où je veux charger des petites images sur la position aléatoire comme un collage avec 10px rembourrage sur chaque.

Comment faire en sorte que les images ne se chevauchent les uns les autres ou titulaire de la div?
Est-il un plugin ou une fonction que je pourrais utiliser?

Mon code pour l'instant:

<script src="jquery-1.3.2.min.js" type="text/javascript"></script>

<script type="text/javascript">
$(document).ready(function(){
$("#my_canvas img").each(
function(intIndex) {

var l = Math.floor(Math.random() * $("#my_canvas").width());
var t = Math.floor(Math.random() * $("#my_canvas").height());

$(this).css("left", l);
$(this).css("top", t);

$(this).bind(
    "click",
        function() {
            alert("l=" + l + " t=" + t);
        }
    );

}

);

});

   <style type="text/css">
    #my_canvas
    {
        background: #eee;
        border: black 1px solid;
        width: 800px;
        height: 400px;
    }
    #my_canvas img
    {
        padding: 10px;
        position:absolute;
    }
</style>

<div id="my_canvas">
    <img src="images/1.jpg" />
    <img src="images/9.jpg" />
    <img src="images/2.jpg" />
    <img src="images/3.jpg" />
    <img src="images/4.jpg" />
    <img src="images/5.jpg" />
    <img src="images/6.jpg" />
    <img src="images/7.jpg" />
    <img src="images/8.jpg" />
</div>
il dépend du hasard que vous voulez... vous pourriez assigner à une grille, puis ils ont chacun en charge un peu aléatoire de la position à l'intérieur de leurs propres réservés/cellule de l'espace ne doivent pas se chevaucher et être encore "aléatoire". si vous voulez être totalement aléatoire, vous aurez besoin d'ajouter la position et la taille dans un tableau et calculer pour chaque image, si il n'est pas @ la même coords d'une image précédente. aucune idée si quelque chose comme cela a été mis dans un plugin avant que

OriginalL'auteur jpkeisala | 2009-08-17