我有一個持有人div在頁面上,我想隨機位置加載小圖像作爲每個10px填充拼貼。生成隨機元素位置,並防止在JavaScript中重疊
我怎樣才能確保圖像不會互相重疊或持有人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>
它取決於你想要它們是多麼隨機...... 你可以將它們分配給一個網格,然後它們每個都加載在它們自己的保留單元/空間內的一個隨機位置上,永遠不會重疊並且仍然是「隨機的」。 如果您希望它們完全隨機,您需要將位置和大小添加到數組中,併爲每個圖像計算,如果他不是先前圖像的相同座標。 不知道如果像這樣的東西已被放入插件之前雖然 – Sander 2009-08-17 09:13:09