我有以下将容器div中的div随机化的方法。如您在此小提琴中所见,效果很好。
<div id='draggables_container'>
<div class='draggable' id='d1'></div>
<div class='draggable' id='d2'></div>
<div class='draggable' id='d3'></div>
<div class='draggable' id='d4'></div>
<div class='draggable' id='d5'></div>
</div>
function randomiseDraggables(){
var parent = $("#draggables_container");
var divs = parent.children();
while (divs.length) {
parent.append(divs.splice(Math.floor(Math.random() * divs.length), 1)[0]);
}
}
如何更改此值,以使元素float:left
在容器内具有随机的绝对位置(当前设置为),并且具有随机旋转且最好彼此不重叠?
如上所述的解决方案:
的HTML
<div id='draggables_container'>
<div class='draggable' id='d1'></div>
<div class='draggable' id='d2'></div>
<div class='draggable' id='d3'></div>
<div class='draggable' id='d4'></div>
<div class='draggable' id='d5'></div>
</div>
的CSS
#draggables_container {
float:left;
height:auto;
width:600px;
border: 1px solid #6ac1cb;
border-radius: 4px;
}
.draggable {
float:left;
height:120px;
}
#d1 {
width:20%;
background-image: url(http://130.95.21.121/karyotypes/trisomy_21/images/1_a.png);
background-repeat:no-repeat;
}
#d2 {
width:20%;
background-image: url(http://130.95.21.121/karyotypes/trisomy_21/images/1_b.png);
background-repeat:no-repeat;
}
#d3 {
width:20%;
background-image: url(http://130.95.21.121/karyotypes/trisomy_21/images/2_a.png);
background-repeat:no-repeat;
}
#d4 {
width:20%;
background-image: url(http://130.95.21.121/karyotypes/trisomy_21/images/2_b.png);
background-repeat:no-repeat;
}
#d5 {
width:20%;
background-image: url(http://130.95.21.121/karyotypes/trisomy_21/images/3_a.png);
background-repeat:no-repeat;
}
jQuery的
function randomiseDraggables() {
var parent = $("#draggables_container");
var divs = parent.children();
divs.each(function() {
var rt = (Math.floor(Math.random() *359));
var rn = (Math.floor(Math.random() *50));
$(this).css({'transform':'rotate(' + rt + 'deg)','background-position' : '0% ' + rn + '%'});
});
while (divs.length) {
parent.append(divs.splice(Math.floor(Math.random() * divs.length), 1)[0]);
}
}
randomiseDraggables();
$(".draggable").draggable({
stack: '#draggables_container div',
revert: true
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句