【发布时间】:2010-11-20 04:29:28
【问题描述】:
我在页面上有一个持有人 div,我想将小图像加载到随机位置作为拼贴画,每个 10 像素填充。
如何确保图像不会相互重叠或不会与 div 重叠? 有没有我可以使用的插件或功能?
到目前为止我的代码:
<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>
【问题讨论】:
-
这取决于您希望它们的随机性...您可以将它们分配给网格,然后它们各自加载到自己保留的单元格/空间内的一个随机位置,永远不会重叠并且仍然是“随机的” .如果您希望它们完全随机,则需要将位置和大小添加到数组中,如果他不是@前一个图像的相同坐标,则为每个图像计算。不知道之前是否已经将类似的东西放入插件中
标签: javascript jquery css random css-position