Tôi đang tìm một hàm để sắp xếp một số phần tử xung quanh một vòng tròn.
kết quả nên được một cái gì đó như:Sắp xếp động một số yếu tố xung quanh một vòng tròn
Trả lời
Dưới đây là một số mã mà sẽ giúp bạn:
var numElements = 4,
angle = 0
step = (2*Math.PI)/numElements;
for(var i = 0; i < numElements.length; i++) {
var x = container_width/2 + radius * Math.cos(angle);
var y = container_height/2 + radius * Math.sin(angle);
angle += step;
}
Nó không phải là hoàn toàn nhưng nên cung cấp cho bạn một khởi đầu tốt.
Cập nhật: Đây là cái gì đó thực sự hoạt động:
var radius = 200; // radius of the circle
var fields = $('.field'),
container = $('#container'),
width = container.width(),
height = container.height(),
angle = 0,
step = (2*Math.PI)/fields.length;
fields.each(function() {
var x = Math.round(width/2 + radius * Math.cos(angle) - $(this).width()/2),
y = Math.round(height/2 + radius * Math.sin(angle) - $(this).height()/2);
$(this).css({
left: x + 'px',
top: y + 'px'
});
angle += step;
});
Demo: http://jsfiddle.net/ThiefMaster/LPh33/
Dưới đây là một improved version nơi bạn có thể thay đổi số lượng phần tử.
làm thế nào để bạn biết chu trình ở đâu? – Omid
Bạn cần thêm tọa độ của vòng tròn và trừ một nửa kích thước của phần tử, từ 'x' và' y'. –
Tôi đã cập nhật câu trả lời để bao gồm một ví dụ làm việc. – ThiefMaster
Đối với một yếu tố xung quanh một trung tâm tại (x, y), khoảng cách r, trung tâm của phần tử cần được bố trí tại địa chỉ:
(x + r cos(2kπ/n), y + r sin(2kπ/n))
nơi n là số nguyên tố và k là "số" của phần tử bạn hiện đang định vị (từ 1 đến n bao gồm).
tôi đã kết hợp fiddle ThiefMaster với các plugin jQuery pointAt:
Demo: http://jsfiddle.net/BananaAcid/nytN6/
the code is somewhat like above.
might be interesting to some of you.
Tôi đã sửa đổi fiddle ThiefMaster để tự động phân phối divs xung quanh một vòng tròn với bán kính bằng chiều rộng/2 của div container:
<div class="circle-distribute-container">
<div class="circle-element">one</div>
<div class="circle-element">two</div>
<div class="circle-element">three</div>
<div class="circle-element">four</div>
<div class="circle-element">five</div>
</div>
<div class="circle-distribute-container">
<div class="circle-element">another one</div>
<div class="circle-element">another two</div>
<div class="circle-element">another three</div>
<div class="circle-element">another four</div>
</div>
Xem link
- 1. Tự động sắp xếp các Nút quanh Vòng tròn
- 2. Xoay hình ảnh xung quanh một vòng tròn?
- 3. sắp xếp danh sách theo một số yếu tố
- 4. Vòng tròn vẽ Android xung quanh Văn bản
- 5. sử dụng CAEmitterLayer để vẽ các hạt xung quanh một vòng tròn hoặc một CGPath
- 6. Bóng hộp xung quanh các góc tròn?
- 7. Vẽ một vòng tròn có bán kính và các điểm xung quanh cạnh
- 8. vẽ một vòng tròn bán kính R quanh một điểm
- 9. jQuery Làm thế nào để quấn div xung quanh nhiều yếu tố cùng một lớp
- 10. Sắp xếp một poset?
- 11. mức yếu tố Sắp xếp lại trong khung dữ liệu
- 12. sắp xếp lại các yếu tố danh sách - jQuery?
- 13. Sắp xếp Mảng 2-D của các hàng và các yếu tố cột của số nguyên được sắp xếp
- 14. Các yếu tố khoảng cách trong một mảng tròn
- 15. Sắp xếp lại() không sắp xếp lại một cách chính xác một biến tố trong ggplot
- 16. Dấu chấm mờ xung quanh các vòng tròn trong xuất pdf của libreoffice vẽ
- 17. Cách thêm vòng tròn làm bán kính xung quanh chú thích
- 18. Tìm các yếu tố không trùng lặp trong một mảng được sắp xếp
- 19. Sắp xếp một danh sách các hàng phụ thuộc vào hai yếu tố
- 20. Lấy các yếu tố của một số
- 21. matlab: đặt một số vòng tròn lên một biểu đồ
- 22. XSLT: Vòng chọn hai yếu tố tại một thời điểm
- 23. Trình biên dịch sắp xếp lại xung quanh ranh giới mutex?
- 24. Vẽ một phong bì xung quanh một đường cong
- 25. Một tham chiếu vòng tròn đã được phát hiện trong khi sắp xếp một đối tượng thuộc kiểu System.Globalization.CultureInfo
- 26. Tại sao div gói không mở rộng xung quanh các yếu tố nổi?
- 27. Các yếu tố xáo trộn trong danh sách (sắp xếp lại các yếu tố danh sách ngẫu nhiên)
- 28. Làm cách nào để xuất bảng xếp hạng yếu tố được sắp xếp?
- 29. Vẽ đường viền tròn xung quanh hình ảnh bằng Raphael
- 30. WPF - Biên giới xung quanh một itemscontrol
@camus vấn đề thực sự của tôi là tôi không biết lượng giác;) – Omid
chỉ cho 4 phần tử hoặc cho các phần tử 'n' trong cùng khoảng cách? – Neysor
@Neysor 'n' phần tử với khoảng cách khác nhau. – Omid