Показать сообщение отдельно
  #11 (permalink)  
Старый 03.08.2011, 11:22
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Сообщение от qwertyuiop
чтобы за пределы функции не лезли
Это слишком безобидно звучит. Вот пример:
<style>
div {
  position: absolute;
  height: 100px; width: 100px;
  background: green;
}

#test2{ top: 150px; }
</style>
<div id="test1"></div>
<div id="test2"></div>
<script>
function animate(id) {
	element=document.getElementById(id);
	start=new Date()
	setTimeout(function() {
		now=new Date() - start;
		progress=now / 100;
		result=1*progress;
		element.style.left=result+"px";
		setTimeout(arguments.callee,1);
	},10);
};

animate( "test1" );
setTimeout(function(){
  animate( "test2" ); // Второй вызов animate "выключит" первую анимацию
}, 3000);
</script>
Ответить с цитированием