У меня есть центральная точка на странице (x, y) и вам необходимо равномерно распределить различное количество элементов (div) вокруг этой точки по кругу. Расстояние от центральной точки будет фиксировано.Позиция вокруг точки
Это мой код до сих пор:
var noElements = $('div').size();
var xDistance = 100;
var angle = 0;
var offset = 250;
$('div').each(function(index) {
angle = (360/noElements)*index;
$(this).css({'left': offset + (Math.sin(angle) * xDistance), 'top': offset + (Math.cos(angle) * xDistance)});
});
Это код в fiddle.
Это не совсем работает, если вы добавите больше div на скрипке, вы увидите, что div не равномерно распределены. Например, имея 8 элементов, вызывает перекрытие двух в нижней части.
«не работает»>. < –
Извините, просто обновил скрипку. – addedlovely
Как это не работает? более подробное описание того, что он делает/не делает, было бы полезно. сколько элементов? если вы отлаживаете, что такое угол, начинающийся как? я мог бы видеть, если вы не используете там плавающую математику, вы закончите с углом = 0, а остальная часть математики мгновенно распадается? –