Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.10.2011, 17:23
Аватар для raler
Аспирант
Отправить личное сообщение для raler Посмотреть профиль Найти все сообщения от raler
 
Регистрация: 02.03.2011
Сообщений: 38

Движение обьекта по кривой
Всем привет. Для решения одной задачи мне необходимо, чтобы некий обьект (блок) двигался по кривой (типа синусоиды или полудуги).

Существует ли такой плагин, или писать самостоятельно, или такое вообще неосуществимо?)
Ответить с цитированием
  #2 (permalink)  
Старый 27.10.2011, 19:05
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Осуществимо.
смещение + Math.sin(alpha)*size для синусоиды
setTimeOut - для цикла перемещения
.offset({ top: 10, left: 30 }) - для позиционирования блока
transform:rotate(55deg) Если хочешь наклонять блок (css3)

хотя можно пофантазировать ещё на тему animate

i=0;// i должна быть глобальной переменной, замыкание городить нехочется. 
$("#block").animate({top:function(){i=i+1;return sin(i)*100 ;},left:"+=1"},2000);


При паническом страхе глобальных переменных, угол можно и в атрибуте хранить
$("#block").animate({
                   top:function(){
                         var alpha=$("#block").attr("alpha")+1;
                         $("#block").attr("alpha",alpha);
                         return sin(alpha)*100; // возможно надо +"px" дописать
                   },
                   left:"+=1"
      },2000);


сейчас длительность 2 секунды.

СМОТРЮ НА СЛЕДУЮЩИЙ ДЕНЬ .ПРИМЕРЫ C ANIMATE НЕ РАБОЧИЕ. НАДО БЫЛО ИСПОЛЬЗОВАТЬ СВ-ВО STEP
Прописывать функции к св-вам символизирующим css, бессмысленно.
РАБОЧИЙ СКРИПТ В СЛЕДУЮЩЕМ СООБЩЕНИИ
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 28.10.2011 в 12:17.
Ответить с цитированием
  #3 (permalink)  
Старый 28.10.2011, 12:03
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

РАБОЧИЙ ПРИМЕР ANIMATE
( Если песочница не работает, скопируйте код в html файл, и запустите.)
<!DOCTYPE html>
<html>
   <head>
      <script src="http://code.jquery.com/jquery-latest.js"></script>
<style type="text/css">

#block {
    position:absolute; 
    background-color:#abc; 
    left:50px;
    width:90px; 
    height:90px;
    margin:5px; 
}
.step {
    position:absolute; 
}

</style>  

 </head>


<div id="block"> </div>

<script>


$(document).ready(function(){

	    $("#block").animate({
                // переместим в координату 500 по x
		"left": "500px"
    	    },{

                // функция степ вызывается на каждом шагу
		// теперь мы можем делать свою "неповторимую" анимацию :)
	         step: function(now, fx) {

                        // собственно само передвижение квадрата по Y 
			// вместо now можно и свою переменную использовать
			$(fx.elem).offset({top: Math.sin(now/80)*200+200});
			
                        
                        // дальше мы немного повыпендриваемся :)

			//добавим какойнибудь обьект на страницу, который будет символизировать след 
			$("body").append("<div class='step'>"+now.toFixed(0)+"</div>");	 		

			// отпозиционируем наш след туда же где и квадрат	
			$(".step:last").offset({top: Math.sin(fx.now/80)*200+200,left:now });


 		        //console.log(fx); если захотим посмотреть что у на в fx		    
		 }
		},"slow"); 


});



</script>
   </body>
</html>
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 29.10.2011 в 16:12.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отследить движение скроллбара? poorking Events/DOM/Window 2 04.11.2010 20:11
Движение объекта в ячейке определённого размера lammeR Общие вопросы Javascript 4 20.04.2010 17:14
Движение скроллинга окна по направлению миши bobus123 Events/DOM/Window 0 02.09.2009 15:17
Движение обЪекта Rusel6 Элементы интерфейса 2 14.08.2009 14:49
AJAX, вызов из метода обьекта Logo Общие вопросы Javascript 4 20.06.2009 23:35