Показать сообщение отдельно
  #1 (permalink)  
Старый 22.03.2013, 20:10
Новичок на форуме
Отправить личное сообщение для stanislav96 Посмотреть профиль Найти все сообщения от stanislav96
 
Регистрация: 16.04.2012
Сообщений: 6

Анимация. Возникла проблема с Анимацией в JS(
Вот, начал писать функцию для анимации..
var anim_ = {};
function anim(e){
  return {
	'go' : function(param, time, z){
	  if(e){
	    anim_[e] = true;
	    var tm = new Date().getTime();
	    setTimeout(function(){
		var pr = ((new Date().getTime()) - tm) / time;
		  z(e,pr);
		  if(pr < 1 && anim_[e]){
		    setTimeout(arguments.callee, 50);
		  };
	    }, 50);
	  };
	  return this;
	},
	'stop' : function(){
	  delete anim_[e];
	  return this;
	}
  };
};

Пример использования:
Код:
<div id="lo">text</div>
<script>
var pb = document.getElementById('lo');
pb.onmouseover = function(){
  anim(this).stop().go([12, 15], 500, function(e, l){
    e.style.fontSize = 15 - 12 * l + 12 +'px';
  });
};
pb.onmouseout = function(){
  anim(this).stop().go([15, 12], 500, function(e, l){
    e.style.fontSize = 12 - 15 * l + 15+'px';
  });
};
</script>
Проблема в том, чтобы сделать остановку анимации.. при отведении курсора, если элемент ещё не до конца "анимировался", чтобы он анимированно начал возвращаться в предыдущее состояние..
Ответить с цитированием