Похвастаюсь и я тем, как освоил скрипты из учебников (как тут удержаться, движение картинок на странице - любимое занятие ). Движение уже не линейное, а как у Throne, по окружности. Но, думаю, автору темы это пригодится.
| Код | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11-strict.dtd"> <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='ru'> <head> <title>test</title> <meta http-equiv='Content-Type' content='text/html; charset=windows-1251' /> <style type='text/css'> /*<![CDATA[*/ #test { position:absolute; top:0; left:200px; width:30px; height:30px; background-color:black; } /*]]>*/ </style> </head> <body> <div id='test' onmouseout='startMove()' onmouseover='stopMove()'></div> <script type='text/javascript'> /*<![CDATA[*/ var satellite = document.getElementById('test'), angle = 0, // стартовая позиция на воображаемой окружности step = 10, // шаг движения direction = -1, // по "часовой" или против orbit = parseInt(satellite.offsetLeft), // радиус окружности start_X = start_Y = orbit, pi = Math.PI/180, interval = 0;
setTimeout(startMove, 500);
function startMove() { interval = setInterval(move, 100); } function stopMove() { clearInterval(interval); } function move() { angle += step; if (angle >= 360) angle = 0; var x = start_X - (orbit * Math.sin(angle * pi) * direction), y = start_Y - orbit * Math.cos(angle * pi); satellite.style.left = x + 'px'; satellite.style.top = y + 'px'; } /*]]>*/ </script> </body> </html>
|
Замечание!!! Никогда не используйте глобальные переменные таким неразумным способом, как в этом сценарии. |