При повторнм запуске функции - считает не верно
Прошу помощи. Проблема такая: у меня должны быть "планеты" которые вращаются по орбите. Делаю функцию для расчета координат и размеров так:
function stable(num){ var l = $("div.ball").length; $("div.ball").each(function(i,domEle) { var fi = ((1/2)*Math.PI+(2*(i+num)*Math.PI)/l); var x = 400*Math.cos(fi); var y = 50*Math.sin(fi); var h = 120 + y; domEle.style.top = y+"px"; domEle.style.left = x+"px"; domEle.style.width = h+"px"; domEle.style.height = h+"px"; if (h<100) {this.style.zIndex = "1";} }); } При загрузке страницы все работает вот так: $( document ).ready( function(){ stable(0); } ); При любом передаваемом значении вполне коректно поворачивает по элипсу "планетки". Однако, если вызвать функцию второй раз (вместо stable(0); поставить например stable(0);stable(1); ) работает не верно(все смещаются непонятно как). Прошу указать на мою ошибку. Заранее спасибо. |
Проблему решил сам. Если кому нужно: Проблема была в том, что не коректно обрабатывалось, если какое-нибудь из свойств уходило в ноль(в углах, кратных pi/2). Спасло положение добавление единичек:
y=y+1; И так далее. |
Часовой пояс GMT +3, время: 13:00. |