Показать сообщение отдельно
  #20 (permalink)  
Старый 05.08.2012, 21:51
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Можно так (хотя при быстрых кликах не будет точности)

<style>
	#div div {
		position: absolute;
		border: solid 1px;
		width: 50px;
		height: 50px;
	}
</style>

<div id="div">
	<div style="left: 0px; top: 0px">div1</div>
	<div style="left: 0px; top: 50px;">div2</div>
	<div style="left: 0px; top: 100px;">div3</div>
	<div style="left: 0px; top: 150px">div4</div>
</div>

<script>
window.onload = function () {
	var div = document.getElementById('div');
	var divs = div.children;
	var len = divs.length;
	var count = 200;
	var step = 6;
	var coof = 1;
	var mas;
	
	function goRight(mas) {
		var len = mas.length;
		for (var i = 0; i < len; i++) {
			mas[i].style.left = parseInt(mas[i].style.left) + step;
		}
	}

	div.onclick = function (e) {
		e = e || event;
		var target = e.target || e.srcElement;
		mas = [];
		for (var i = 0; i < len; i++) {
			if (target == divs[i]) {
				for (var j = i; j < len; j++) {
					mas.push(divs[j]);
				}
				break;
			}
		}
		for (var i = 0; i < count; i += step) {
			setTimeout(function () {goRight(mas)}, i*step);
		}
	}
	
}
</script>
Ответить с цитированием