Показать сообщение отдельно
  #4 (permalink)  
Старый 20.05.2013, 11:56
Аватар для keen
Профессор
Отправить личное сообщение для keen Посмотреть профиль Найти все сообщения от keen
 
Регистрация: 28.03.2012
Сообщений: 376

"вот зануда, проще дать чем объяснить почему не хочу"

вот держи код.
набросал на коленке по-быстрому. без учёта ресайза окна и прочего.
<html>
<body id="body">
<span id="move-me" style="position: absolute; border: 1px dashed black;">i like to move it</span>
<script type="text/javascript">
	var DELTA_X = 10,	// дельта изменений по горизонтали
		DELTA_Y = 10,	// дельта изменений по вертикали
		INTERVAL = 20,	// интервал в миллисекундах перерисовки элемента
		bodyWidth = document.getElementById('body').clientWidth,
		bodyHeight = document.getElementById('body').clientHeight,
		el = document.getElementById('move-me'),	
		elW = el.clientWidth,
		elH = el.clientHeight,
		elTop = 100,	// начальная координата элемента по горизонтали
		elLeft = 50,	// начальная координата элемента по вертикали
		toRight = true,
		toBottom = false;

	function setElCoords(e, x, y) {
		e.style.left = x + 'px';
		e.style.top = y + 'px';
	}

	setInterval(function () {
		elLeft = elLeft + (toRight ? DELTA_X : -DELTA_X);
		elTop = elTop + (toBottom ? DELTA_Y : -DELTA_Y);
		setElCoords(el, elLeft, elTop);
		
		if ((elLeft + elW >= bodyWidth) || (elLeft <= 0)) {
			toRight = !toRight;
		}
		if ((elTop +elH >= bodyHeight) || (elTop <= 0)) {
			toBottom = !toBottom;
		}	
	}, INTERVAL);	
</script>
</body>
</html>
Ответить с цитированием