Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2019, 13:48   #1
настя2222
Пользователь
 
Регистрация: 14.05.2019
Сообщений: 13
По умолчанию Помогите , пожалуйста. Информатика - программирование в JAVASCRIPT. сделать квадрат в другом квадрате, чтобы он двигался в этом квадрате

Помогите сделать квадрат в другом квадрате, чтобы он двигался в этом квадрате.

Задача 5.2. Измените последний пример так, чтобы красный квадрат можно было перемещать внутри серого квадрата размером 500х500 пикселей.
настя2222 вне форума Ответить с цитированием
Старый 14.05.2019, 14:34   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Чем помочь то? Вы же ничего не делаете!

Цитата:
Сообщение от настя2222 Посмотреть сообщение
Задача 5.2. Измените последний пример так, чтобы красный квадрат можно было перемещать
по всей видимости, в предыдущей задаче Вы рисовали красный квадрат в сером? Где код?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.05.2019, 14:39   #3
настя2222
Пользователь
 
Регистрация: 14.05.2019
Сообщений: 13
По умолчанию

Да мы рисовали такой квадрат. Вот код. нам нужно установить параметры маленькому квадрату, чтобы он не выходил за рамки серого квадрата. Прошу помочь .

Код:
<html>
<head>
<title>Перетаскивание</title>
</head>

<div id="er"
style="position:absolute;
left:0;top:0;width:400;height:400;background-color:#C0C0C0">
</div>


<body onload="init(event)">

<div id="kv"
style="position:absolute;
left:10;top:10;width:50;height:50;background-color:#FFFF00">
<div>


<script>

flag=false;
//Связывание событий с функциями
function init()

{//Если мышка двигается то выполняется ф-ция dragIt
		
document.all.kv.onmousemove=dragIt 
		 
//Если кнопка мышки отпускается, то - ф-ция osvobodi
		
document.all.kv.onmouseup=osvobodi     
		
document.all.kv.onmousedown=zachvat

}

function dragIt(evt)

{//Параметр evt создаётся самим браузером
		
sobytie = (evt) ? evt : (window.event) ? window.event : "";
    
if(flag)
  
  {	document.all.kv.style.top=sobytie.clientY-25;
    	
document.all.kv.style.left=sobytie.clientX-25;
    
}

}  
function osvobodi()

{  flag=false;//устанавливается запрет на перетаскивание

}

function zachvat()

{  flag=true;
//Перетаскивание разрешается

}
</script>


</div>
</div>
</body>
</html>
настя2222 вне форума Ответить с цитированием
Старый 14.05.2019, 15:25   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

я не спец в JS и Drag'n'Drop
но, как запасной вариант, можно проверять координаты в процедуре перемещения:
Код:
function dragIt(evt)

{//Параметр evt создаётся самим браузером
		
sobytie = (evt) ? evt : (window.event) ? window.event : "";
    
if(flag)
  
  {	


	document.all.kv.style.top=sobytie.clientY-25;

        if(parseInt(document.all.kv.style.top)<parseInt(document.all.er.style.top)){
		document.all.kv.style.top=document.all.er.style.top;
	}

	var t=parseInt(document.all.kv.style.top)+parseInt(document.all.kv.style.height);
	var ter=parseInt(document.all.er.style.top)+parseInt(document.all.er.style.height);

        if(t>ter){
		document.all.kv.style.top=ter-parseInt(document.all.kv.style.height);
	}
  	
	document.all.kv.style.left=sobytie.clientX-25;
	if(parseInt(document.all.kv.style.left)<parseInt(document.all.er.style.left)){
		document.all.kv.style.left=document.all.er.style.left;
	}
	var l=parseInt(document.all.kv.style.left)+parseInt(document.all.kv.style.width);
	var ler=parseInt(document.all.er.style.left)+parseInt(document.all.er.style.width);
        if(l>ler){
		document.all.kv.style.left=ler-parseInt(document.all.kv.style.width);
	}
    
}
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как log по основанию 5 (x+1)в квадрате? grazioza Общие вопросы Delphi 2 24.10.2013 22:30
запись ln в квадрате Olgaandsasha Помощь студентам 3 05.03.2012 16:19
Как сделать так, чтобы когда вводишь символы, текст двигался справа налево? gylayko Помощь студентам 7 03.11.2011 20:56
Указатель в квадрате Golovastik Общие вопросы C/C++ 2 10.09.2009 18:54
WebBrowser в квадрате VenMaster Компоненты Delphi 2 03.06.2008 08:27