I'm looking for a function to arrange some elements around a circle.
result should be something like :
Here's some code that should help you:
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; }
It is not complete but should give you a good start.
Update: Here's something that actually works:
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/
Here's an improved version where you can change the element count.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With