2013-01-08 3 views
2

У меня есть следующий код, который помещает divs вокруг круга. Тем не менее, я хочу повернуть круг, чтобы изменить последовательность divs с вершины круга.размещение divs по кругу

function drawCircle(selector, center, radius, angle, x, y) 
    { 


    var total = $(selector).length; 
    var alpha = Math.PI * 2/total; 

    $(selector).each(function(index) 
    { 
     var theta = alpha * index; 
     var pointx = Math.floor(Math.cos(theta) * radius); 
     var pointy = Math.floor(Math.sin(theta) * radius); 


     $(this).css('margin-left', pointx + x + 'px'); 
     $(this).css('margin-top', pointy + y + 'px'); 
    }); 

    } 


    $(document).ready(function() 
    { 


    drawCircle('.box', 0, 250, 0, 500, 500); 

    }); 

ответ

2
var theta = Math.PI/2 - alpha * index; 

Это было трудно: р

+0

Отлично .. Как я могу теперь перевернуть круг по вертикали (зеркало по оси x)? – IlludiumPu36

+0

Это то, что у меня есть сейчас, но div внизу должен быть наверху. Таким образом, перевернув круг по вертикали, вы получите последовательность divs справа (не вращаясь на 180 градусов, хотя ...) http://jsfiddle.net/xMdaf/ – IlludiumPu36

+0

'Math.PI/3 * 2 + alpha * index' –

0

Почему не вращается все с помощью CSS? Просто используйте свойство transform.

+0

Это было хорошее решение. – IlludiumPu36

Смежные вопросы