Đề nghị của tôi là có gạch hoàn toàn được đặt bên trong bảng, để lưu trên HTML (thời gian chuyển) và tính toán vị trí (thời gian tải) bởi trình duyệt. JS để đăng ký các nhấp chuột và xử lý nó (ít HTML = ít chuyển và thời gian tải).
Vì vậy, bạn có thể có cơ sở này CSS:
#board {
display: block;
width: [BoardWidth]px; /* TileWidth * NumberOrColumns */
height: [BoardHeight]px; /* TileHeight * NumberOfRows */
position: relative;
}
.tile {
display: block;
width: [TileWidth]px;
height: [TileHeight]px;
float: left;
}
Sau đó, khi html tạo ra như thế:
<div id="board">
<div class="tile" style="position: absolute; left:0px; top:0px;"></div>
<div class="tile" style="position: absolute; left:20px; top:0px;"></div>
<div class="tile" style="position: absolute; left:40px; top:0px;"></div>
<div class="tile" style="position: absolute; left:60px; top:0px;"></div>
<div class="tile" style="position: absolute; left:0px; top:20px;"></div>
<div class="tile" style="position: absolute; left:20px; top:20px;"></div>
<div class="tile" style="position: absolute; left:40px; top:20px;"></div>
<div class="tile" style="position: absolute; left:60px; top:20px;"></div>
<div class="tile" style="position: absolute; left:0px; top:40px;"></div>
<!--(...)-->
</div>
Trong đó mỗi ngói có vị trí left: [X*TileWidth]px; top: [Y*TileHeight]px;
.
Điều đó, hoặc đề xuất của David M.
Bạn cũng có thể cắt giảm thời gian tải trang nếu bạn làm cho kích thước trang nhỏ hơn - vì vậy, như đề nghị, sử dụng JQuery hoặc khung JavaScript khác để tạo sự kích hoạt cho các nhấp chuột trên mỗi div
sẽ là lý tưởng.
Tôi không phải là rất hiểu biết, nhưng sử dụng JQuery nó sẽ là một cái gì đó như:
$(document).ready(function() {
$(".tile").click(function() {
// find out which square was clicked, and perhaps redirect to a page with get variables
});
});
Bạn có ý nghĩa gì về trọng lượng nhẹ? Một số giải thích câu hỏi của bạn là tối ưu hóa hiệu suất của HTML được gửi từ máy chủ đến trình duyệt. Nhưng tôi tin rằng kích thước DOM trong trình duyệt có thể là một vấn đề, điều này có thể không liên quan. –
Cả hai cách: Cả 'gánh nặng' trên máy chủ khi gửi đi và máy tính của người dùng khi tải lên html. – Sotkra