2017-03-17 1 views
2

Ich habe schwimmende RANDOM Elemente innerhalb DIV, variierende LINKS und TOP-Position innerhalb der Eltern <div class="main"></div>.zufällige Position der Elemente innerhalb der Eltern div

<div class="main"></div> 

Javascript:

for (var i = 0; i < 5; i++) { 
    $('.main').append('<div class="box"></div>'); 
} 
$('.box').each(function(index) { 
    $(this).css({ 
    left : ((Math.random() * $('.main').width())), 
    top : ((Math.random() * $('.main').height())) 
    }); 
}); 

Beispiel: https://jsfiddle.net/iahmadraza/u5y1zthv/ Wie zu berechnen und LEFT und TOP Positionen mathematisch in Javascript/jQuery so jede beliebige Element jenseits Grenze definiert Mutter

HTML gehen gesetzt werden NICHT

Vielen Dank

+0

Sie haben die Menge an Breite/Höhe entfernen des Elements selbst. links: ((Math.random() * ($ ('. Main'). Width() - $ (this) .width()))), oben: ((Math.random() * ($ ('.main'). height() - $ (this) .height()))) – Roy

+0

['Funktion getRnd (min, max)'] (https://stackoverflow.com/questions/1527803/generating-random- Ganzzahl in Javascript in einem bestimmten Bereich) mit 'min = 0' und' max = (main.width - box.width) ' – Andreas

Antwort

4

Die .box Elemente an 100px Höhe und Breite festgelegt, so zu erreichen, was Sie brauchen, entfernen Sie diese Dimension aus dem möglichen Zufallswert Maximum:

$(this).css({ 
    left: Math.random() * ($('.main').width() - $(this).width()), 
    top: Math.random() * ($('.main').height() - $(this).height()) 
}); 

Updated fiddle

Verwandte Themen