Показать сообщение отдельно
  #12 (permalink)  
Старый 09.12.2010, 15:25
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

dmitriymar, чтобы вы не несли чушь про циклы, я покажу вам наглядный пример, как делается такая анимация на чистом JS:

<div id='foo' style='width: 50px; height: 50px; position: absolute; background: #555555'>
</div>

<script type='text/javascript'>
window.onload = function () {
	document.getElementById("foo").onclick = function () {
		var E = this;
		this.onclick = new Function;
		(function (toTop, from, to) {
			var start = new Date().getTime(),
			callee = arguments.callee;
			setTimeout(function () {
				var progress = (new Date().getTime() - start) / 1000;
				E.style.top = ((to - from) * progress + from) + "px";
				if (progress < 1)
					setTimeout(arguments.callee, 13);
				else
					callee(!toTop, toTop ? 0 : 180, toTop ? 180 : 0);
			}, 13);
		})(false, 0, 180);
	};
};
</script>

Последний раз редактировалось exec, 09.12.2010 в 18:44.
Ответить с цитированием