| 
 Анимация движения Здравсвуйте. Подскажите пожалуйста. Есть код хтмл 
<div id="out" onclick="animate('example', function(p) {return p;})">
	<div id="example">Hello world</div>
</div>
и джаваскрипт 
var element = document.getElementById("example");
		var from = 0; // Начальная координата X
		var to = 500; // Конечная координата X
		var duration = 1000; // Длительность - 1 секунда
		var start = new Date().getTime(); // Время старта
		
		var computedStyle = window.getComputedStyle(element, null);
		var style = computedStyle.left;
		setTimeout(function()
				   {
					   var now = (new Date().getTime()) - start; // Текущее время
					   var progress = now / duration; // Прогресс анимации
					   var result = (to - from) * delta(progress) + from;
					   element.style.left = result + "px";
					   
					   if (progress < 1) // Если анимация не закончилась, продолжаем
					   		setTimeout(arguments.callee, 10);
					}, 10);
При клике должна срабатывать анимация, но ничего не работает. Не могу понять, что не так сделал, подскажите пожалуйста | 
| 
 а где функция delta ? И вообще смотрите в firebug, он вам многое может рассказать. | 
| 
 а у div'а стоит позишен абсолют? кстати и одной функции нету | 
| 
 Цитата: 
 | 
| 
 У меня теперь в другом проблема, пишу код <div id="out"> <div id="example"></div> </div> 
var element = document.getElementById("example");
		var out = document.getElementById("out");
		
		var from = 0; // Начальная координата X
		var to = 500; // Конечная координата X
		var duration = 1000; // Длительность - 1 секунда
		var start = new Date().getTime(); // Время старта
		
		out.onclick = function()
		{
			setTimeout(function()
					   {
						   var now = (new Date().getTime()) - start; // Текущее время
						   var progress = now / duration; 
						   var result = (to - from) * delta(progress) + from;
						   element.style.left = result + "px";
						   
						   if (progress < 1) // Если анимация не закончилась, продолжаем
						   	setTimeout(arguments.callee, 10);
						}, 10);
			
		};			
	
	function delta(progress)
	{
		return progress;
	}
Анимация получается , какая-то "рваная", див стартует резко с половины пути, а если кливать повторно, то див вообще исчезает. Что не так, подскажите пожалуйста | 
| 
 Уже переписал код <div class="example_path"> <div id="example" class="example_block"></div> </div> 
window.onload = function()
	{
		
		
		var element = document.getElementById("example");
		var from = 0; // Начальная координата X
		var to = 500; // Конечная координата X
		var duration = 1000; // Длительность - 1 секунда
		var start = new Date().getTime(); // Время старта
		
		element.onclick = setAnimate
	}
	
	
	function setAnimate()
	{
			setTimeout(function()
				   {
					   var now = (new Date().getTime()) - start; // Текущее время
					   var progress = now / duration; 
					   var result = (to - from) * delta(progress) + from;
					   element.style.left = result + "px";
					   
					   if (progress < 1) // Если анимация не закончилась, продолжаем
					    	setTimeout(arguments.callee, 10);
					}, 10);
					
	}	
	
	function delta(progress)
	{
		return progress;
	};
Все равно не работает, при клике, ничего не срабатывает. Помогите, что не так :( | 
| 
 Armen, учитесь пользоваться поиском, чтобы не задавать однотипных вопросов | 
| 
 Цитата: 
 На jQuery я это реализовал | 
| 
 Цитата: 
 Там 11 страниц текста, куча кода и теории, и на jQuery всего пара функций в качестве альтернативных примеров решения задачи. Вы уже два года на форуме в статусе плавающего новичка, если вы не начнете думать, и пытаться хоть немного самостоятельно решать свои микропроблемы, то помогать вам никто не будет. | 
| Часовой пояс GMT +3, время: 00:37. |