движение картинок по кругу
добрый день, уважаемые!
я начал учить js и наткнулся на проблемму как создать скрипт в котором бы РАЗНЫЕ картинки перемещались бы по кругу причем количество картинок можно менять...я так понимаю это както с подсчетом угла меджу ними или вроде того заранее спасибо! |
круг = 360 градусов
360 / количество картинок |
и как их двигать?
|
прибавлять/отнимать по эн градусов
|
я новичек, я даже приблизительно не знаю как из двигать...
|
покажи что не получается - поможем
а то похоже что просишь готовое решение |
<html>
<head>
<style>
.spanstyle
{
position:absolute;
visibility:visible;
}
</style>
<script language="JavaScript">
<!--
var xpos=new Array()//Массив x-координаты слоев
var ypos=new Array()//Массив y-координаты слоев
var f=0//Угол поворота
var a=0//переменная остановки
var rx=100//x-координата центра
var ry=100//y-координата центра
var r2=100//Радиус второй окружности движения звёздочек
for (i=0; i<9; i++)
{
xpos[i]=rx
ypos[i]=ry
}
//функция прорисовки
function make()
{
//Меняем флаг по условию:
//----
//Располагаем звёздочки по окружности
c=1.35
//----
//Располагаем второй ряд звёздочек по окружности
//и поворачиваем их относительно центра
if (a==0){
f=f+0.01
f1=Math.cos(f)
f2=Math.sin(f)
xpos[1]=(rx-r2)*f1-ry*f2-rx*f1+ry*f2+rx
ypos[1]=(rx-r2)*f2+ry*f1-rx*f2-ry*f1+ry
xpos[2]=(rx-r2/c)*f1-(ry-r2/c)*f2-rx*f1+ry*f2+rx
ypos[2]=(rx-r2/c)*f2+(ry-r2/c)*f1-rx*f2-ry*f1+ry
xpos[3]=rx*f1-(ry-r2)*f2-rx*f1+ry*f2+rx
ypos[3]=rx*f2+(ry-r2)*f1-rx*f2-ry*f1+ry
xpos[4]=(rx+r2/c)*f1-(ry-r2/c)*f2-rx*f1+ry*f2+rx
ypos[4]=(rx+r2/c)*f2+(ry-r2/c)*f1-rx*f2-ry*f1+ry
xpos[5]=(rx+r2)*f1-ry*f2-rx*f1+ry*f2+rx
ypos[5]=(rx+r2)*f2+ry*f1-rx*f2-ry*f1+ry
xpos[6]=(rx+r2/c)*f1-(ry+r2/c)*f2-rx*f1+ry*f2+rx
ypos[6]=(rx+r2/c)*f2+(ry+r2/c)*f1-rx*f2-ry*f1+ry
xpos[7]=rx*f1-(ry+r2)*f2-rx*f1+ry*f2+rx
ypos[7]=rx*f2+(ry+r2)*f1-rx*f2-ry*f1+ry
xpos[8]=(rx-r2/c)*f1-(ry+r2/c)*f2-rx*f1+ry*f2+rx
ypos[8]=(rx-r2/c)*f2+(ry+r2/c)*f1-rx*f2-ry*f1+ry
//----
//Изменяем положение каждого слоя
for (i=0; i<9; i++)
{
var thisspan = eval("span"+(i)+".style")
thisspan.posLeft=xpos[i]
thisspan.posTop=ypos[i]
}
//----
//Устанавливаем таймер вызова данной функции
setTimeout("make()",10)
}
}
//----
//Рисуем слои с идентификаторами от span0 до span9
for (i=0;i<9;i++)
{
document.write("<span id='span"+i+"' class='spanstyle'>")
document.write('<img src="images/1.gif">')
document.write("</span>")
}
//-->
</script>
</head>
<body bgColor="#ffffff" onLoad="make()" >
</body>
</html>
вот скомуниздил код чужой немогу сделать чтоб картинки разные были, ХХЕЕЕЛП! |
чтобы картинки разные были надо изменить 79 сточку на
document.write('<img src="images/'+i+'.gif">') картинки будут images/1.gif, images/2.gif ... images/9.gif |
Цитата:
|
Цитата:
спасибо, реально помог, я эту ошибку искал неделю)) подскажи пожалуйста еще такую вещь если я буду через админку добавлять рисунки мне придется дописывать формулы...каким образом лучше избежать этого? или по какой формуле определить положение картинки по кругу через угол, например картинок 10 угол = 36 градусов? |
| Часовой пояс GMT +3, время: 10:50. |