我想在頁面上訂購我的圖像像一個hexagon.I在java上找到了這個解決方案,現在我試圖在jquery上實現它。首先,我裝箱我的照片列表div元素jquery排序img的位置
<div class="photoList">
<?php $categories = find_category();
foreach($categories as $category): ?>
<div id="userList">
<img id="<?Php echo $category['cat_id']; ?>" src = <?Php echo $category['cat_image']; ?> />
</div>
<?php endforeach ;?>
</div>
它從數據庫中的所有元素源,並顯示他們在頁面頂部到底部。
然後我用jQuery的改變
$(document).ready(function(){
var cx = $(window).height()/2;
var cy=$(window).width()/2;
var $userList= $('.userList img').size();
var polyXX = new Array("30","25","0" ,"-25","-30","-25","0","25");
var polyYY = new Array("0","22","30" ,"22","0","-22","-30","-22");
var count =5;
for (var i = 1; i < $userList; ++i) {
drawHexes(cx,cy);
}
function drawHexes(cx,cy){
count = Math.min (20, Math.min (cx, cy)/20 );
for (var rank = 1; rank < count; ++rank) {
for (var bar = 0; bar < 8; ++bar) {
var x = (polyXX [ (bar + 6) % 8 ] + polyXX[ (bar + 7) % 8 ]) * rank;
var y= (polyYY [ (bar +6) % 8 ] + polyYY [ (bar + 7) % 8 ]) * rank;
var dx =polyXX [ bar ] + polyXX [ (bar + 1) %8 ];
var dy = polyYY [ bar ] + polyYY [ (bar + 1) %8 ];
for (var hex = 0; hex < rank; ++hex) {
$('.userList img').css({'left':(cx+x)+'px' ,'top':(cy+y)+'px'});
x += dx;
y += dy;
}
}
}
}
});
頁面上的每個元素的位置,但,這是沒有做任何effect.All照片是同一位置。它們必須像六角形。我的事情我有這條線的問題$('.userList img').css({'left':(cx+x)+'px' ,'top':(cy+y)+'px'});
而這裏發佈用Java創建六邊形。 creating 10.000 connected hexagon page?
**編輯**
我製成console.bug和作爲結果 CX = 298 CY = 403.3 X = 25 Y = NaN的 DX = 3025 DY = 022
是在我的main.css中我申請的職位:絕對。 – Ercan 2010-09-13 09:34:55