Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.01.2011, 14:01
Интересующийся
Отправить личное сообщение для Дмитрий_Кирсанов Посмотреть профиль Найти все сообщения от Дмитрий_Кирсанов
 
Регистрация: 29.12.2010
Сообщений: 16

как правильно применить цикл while в этом скрипте?
Хочу сделать так чтобы красный квадрат двигался при каждом событии onclick() вправо и вверх, пока координата top не достигла 20px. Без цикла скрипт работает, реализовать в нем условие while(this.style.top<=20px){} не получается. Кто знает как это сделать, объясните, пожалуйста.

<html>

<script for="square" event="onclick">
while(this.style.top<=20px){
this.style.left=parseInt(this.style.left)+20+'px';
this.style.top=parseInt(this.style.top)-20+'px';
}
</script>


<div id="square" style="position:absolute; top:100px; left:20px; width:50px; height:50px; background:red; border:3px solid black"></div>

</html>
Ответить с цитированием
  #2 (permalink)  
Старый 18.01.2011, 14:25
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

var dX = 100, dY = 100; // Начальные координаты
document.getElementById('square').onclick = function () {
	dX += 20;
	dY -= 20;
	this.style.left = dX + "px";
	this.style.top = dY + "px";
	if (dY < 20)
		this.onclick = new Function;
};
Ответить с цитированием
  #3 (permalink)  
Старый 18.01.2011, 14:41
Интересующийся
Отправить личное сообщение для Дмитрий_Кирсанов Посмотреть профиль Найти все сообщения от Дмитрий_Кирсанов
 
Регистрация: 29.12.2010
Сообщений: 16

спасибо конечно, но меня мой скрипт интресует, возможна ли в нем реализация цикла, если да, то как?
Ответить с цитированием
  #4 (permalink)  
Старый 18.01.2011, 15:05
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

нет,не возможна
Ответить с цитированием
  #5 (permalink)  
Старый 18.01.2011, 15:22
Аватар для Vulkan
Профессор
Отправить личное сообщение для Vulkan Посмотреть профиль Найти все сообщения от Vulkan
 
Регистрация: 25.05.2010
Сообщений: 511

Ну вот чуть похоже на ваш скрипт =)

<html>

<script type="text/javascript">
function move(element) {
    var top = parseInt(element.style.top),
        left = parseInt(element.style.left);
    element.style.left = left + 20 + 'px';
    element.style.top = top - 20 + 'px';
    if (top >= 50) setTimeout(function () {
        move(element);
    }, 50);
}
</script>


<div id="square" style="position:absolute; top:100px; left:20px; width:50px; height:50px; background:red; border:3px solid black" onclick="move(this);"></div>

</html>
Ответить с цитированием
  #6 (permalink)  
Старый 18.01.2011, 15:30
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

Vulkan

ему веть с цыклом надо!!

Дмитрий_Кирсанов

while (false);
var dX = 100, dY = 100; // Начальные координаты
document.getElementById('square').onclick = function () {
	dX += 20;
	dY -= 20;
	this.style.left = dX + "px";
	this.style.top = dY + "px";
	if (dY < 20)
		this.onclick = new Function;
};


с цыклом
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как правильно установить обработчик onclick? Yurik AJAX и COMET 6 14.04.2009 21:04
Как правильно в Мазилле обращаться к фреймам и к их объектам? $Dim@n$777 Firefox/Mozilla 6 29.03.2009 23:32
Как правильно обработать событие? BAnder Events/DOM/Window 19 03.02.2009 14:09
Что в скрипте не правильно? 6AT9 Общие вопросы Javascript 12 25.11.2008 12:18
Как правильно оформить Send() Алекс97 AJAX и COMET 20 30.10.2008 19:19