Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.12.2014, 16:06
Интересующийся
Отправить личное сообщение для name_tux Посмотреть профиль Найти все сообщения от name_tux
 
Регистрация: 20.12.2014
Сообщений: 23

Перетаскивание объекта в определенное место
Всем доброго времени суток.
Возник вопрос с перетаскиванием изображения в div

<html>
<body>
<style>
#drop{
	width:120px;
	height:120px;
	border:1px solid #ccc;
	padding:10px;
	float:left;
	}
.main{
	width:285px;
	height:285px;
	border:1px solid #ccc;
	padding:10px;
	margin:auto;
	}
</style>
<script>
function makeDroppable(e) {
e.preventDefault();
}
function dragImg(e) { 
e.dataTransfer.setData("text/plain",e.target.id);
}
function dropImg(e) {
e.preventDefault();
//При извлечении данных Вы должны использовать такой же тип как и при их сохранение
var rdata = e.dataTransfer.getData("text/plain");
//Очистим содержимое перетаскиваемого элемента
e.target.innerHTML=""; 
//Сделаем перетаскиваемый элемент элементом потомком принимающей области т.е. фактически мы 
//переносим его в содержимое принимающего его элемента
e.target.appendChild(document.getElementById(rdata))
}
</script>
<div class=main>
<div id="drop" ondrop="dropImg(event)" ondragover="makeDroppable(event)">1</div>
<div id="drop" ondrop="dropImg(event)" ondragover="makeDroppable(event)">2</div>
<div id="drop" ondrop="dropImg(event)" ondragover="makeDroppable(event)">3</div>
<div id="drop" ondrop="dropImg(event)" ondragover="makeDroppable(event)">4</div>
</div>
<br><br><br />
<p>Перетащите элементы</p>
<img src="01.png" draggable="true" width="120px" ondragstart="dragImg(event)" id="draggable-element-1">
<img src="02.png" draggable="true" width="120px" ondragstart="dragImg(event)" id="draggable-element-2">
<img src="03.png" draggable="true" width="120px" ondragstart="dragImg(event)" id="draggable-element-3">
<img src="04.png" draggable="true" width="120px" ondragstart="dragImg(event)" id="draggable-element-4">


</body>
</html>


Все перетаскивается как надо. Хотелось бы его улутшить:
1. чтобы изображения можно было перетащить в определенный div
2. когда все заполнено правильно выводилось сообщение что все ok (типа alert("ok"))

посмотреть можно тут:
http://borgomotov.zz.mu/index-2.html

заранее спасибо за помощь

Последний раз редактировалось name_tux, 20.12.2014 в 16:13. Причина: добавление ссылки
Ответить с цитированием
  #2 (permalink)  
Старый 20.12.2014, 16:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

name_tux,
может не мучатся http://jqueryui.com/droppable/
Ответить с цитированием
  #3 (permalink)  
Старый 20.12.2014, 17:04
Интересующийся
Отправить личное сообщение для name_tux Посмотреть профиль Найти все сообщения от name_tux
 
Регистрация: 20.12.2014
Сообщений: 23

Нет у него можно потом объект вытащить. а мне надо его закрепить и в определенном месте
Ответить с цитированием
  #4 (permalink)  
Старый 20.12.2014, 17:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от name_tux
Нет у него можно потом объект вытащить.
так напишите чтоб не отдавал
Ответить с цитированием
  #5 (permalink)  
Старый 20.12.2014, 17:12
Интересующийся
Отправить личное сообщение для name_tux Посмотреть профиль Найти все сообщения от name_tux
 
Регистрация: 20.12.2014
Сообщений: 23

я ниже приписал что нужно в итоге! Нужно чтобы 1 картинка встала только в 1 див и так последующие и в конце вывод что все наместе
Ответить с цитированием
  #6 (permalink)  
Старый 20.12.2014, 17:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

name_tux,
var n = 4;
	function makeDroppable(e) {
	  e.preventDefault();
	}
	function dragImg(e) {
	  e.dataTransfer.setData("text/plain", e.target.id);
	}
	function dropImg(e) {
	  e.preventDefault();
	  var rdata = e.dataTransfer.getData("text/plain");
	  var x = "draggable-element-" + e.target.innerHTML;
	  if(rdata !=x)return;
	  e.target.innerHTML = "";
	  e.target.appendChild(document.getElementById(rdata))
	  n--;
	  if(!n)alert("win!")
	}
Ответить с цитированием
  #7 (permalink)  
Старый 20.12.2014, 18:13
Интересующийся
Отправить личное сообщение для name_tux Посмотреть профиль Найти все сообщения от name_tux
 
Регистрация: 20.12.2014
Сообщений: 23

Супер ОГРОМНОЕ спасибо. То что нужно!!!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передвинуть квадрат в определенное место? Dimaz Общие вопросы Javascript 0 15.08.2014 20:05
Установка каретки в определенное место input Upcoming Events/DOM/Window 2 16.02.2014 12:48
скачать файл в определенное место? Kvark AJAX и COMET 2 07.06.2013 15:08
Запихнуть тег script с атрибутами в определенное место на старнице thedriveee Общие вопросы Javascript 0 31.10.2012 23:26
Добавление элемента в определенное место haveFun Events/DOM/Window 5 02.05.2011 19:54