Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: движение картинки по часовой стрелки в javascript
 
 автор: rustam1986   (18.05.2009 в 19:26)   письмо автору
 
 

движение картинки по часовой стрелки в javascript

нашел такой скрипт а он не работает в чем ошибка

<html>

<head>
<title></title>
<script>
function ellipse(id, alpha, a, b, omega, x0, y0, ztime, dt)
{
if(!alpha) alpha=0;
if(!a) a=0;
if(!b) b=0;
if(!omega) omega=0;
if(!x0) x0=0;
if(!y0) y0=0;
if(!ztime) ztime=0;
if(!dt) dt=0;

var t = -ztime;
setInterval("move(+id+','+alpha+','+a+','+b+','+omega+','+x0+','+y0+','+ztime+','+dt+)", ztime*100);
}

function move(xid, alpha, a, b, omega, x0, y0, ztime, dt)
{
t+=ztime;
var x=a*Math.cos((omega*t +dt)*Math.PI/180);
var y=b*Math.sin((omega*t +dt)*Math.PI/180);
var as=Math.sin(alpha*Math.PI/180);
var ac=Math.cos(alpha*Math.PI/180);
document.all[id].style.top=-x*as + y*ac + y0;
document.all[id].style.left=x*ac + y*as + x0;
}
</script>

</head>

<body onLoad="ellipse()">
<script>
var xstr='<img id="my1" src="strl.jpg">';
document.write(xstr);
ellipse(my1, 60, 100, 100, 10, 500, 300, 0.2, 0);
</script>
</body>

</html>

  Ответить  
 
 автор: PAT   (19.05.2009 в 03:50)   письмо автору
 
   для: rustam1986   (18.05.2009 в 19:26)
 

>"нашел такой скрипт а он не работает в чем ошибка"

Бред потому что это, а не скрипт.
Держите кроссбраузерный вариант:
<html><head>
<script>
var R_a = 160;  //половина суммы расстояний от точки до фокусов в пикселях (целое чётное)
var R_c = 95;   //половина расстояния между фокусами в пикселях (не больше R_a)
var T_a = 10;   //таймаут в миллисекундах
var D_r = 1;    //по часовой стрелке (против часовой = -1) 

function FuncEl ()
{
with (document.getElementById ('myPic').style)
   {
   if (!self.tx) {Z_k = 1; tx = 'px'; R_b = Math.sqrt (R_a * R_a - R_c * R_c);
   L_0 = parseInt (left, 10); Y_0 = parseInt (top, 10); X_f = R_a * (-1)}
   X_f += 2 * Z_k; top = (Y_0 - R_b / R_a * Math.sqrt (R_a * R_a - X_f * X_f) * Z_k * D_r) + tx;
   left = (L_0 + R_a + X_f) + tx; if (X_f == R_a * (-1)) Z_k = 1; else if (X_f == R_a) Z_k = -1;
   }
setTimeout (FuncEl, T_a);
}
</script>
</head>
<body onload="FuncEl ()">
<img id="myPic" style="position: absolute; top: 200px; left: 10px;
                       width: 40px; height: 40px; background-color: red">
</body></html>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования