Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.02.2012, 17:25
Профессор
Отправить личное сообщение для (Sandr) Посмотреть профиль Найти все сообщения от (Sandr)
 
Регистрация: 14.10.2010
Сообщений: 376

Перемещение элементов
Всем здрасте) Помогите выявить ошибку, пожалуйста. Пишу драг&дроп приложение, но возникают проблемы..

function func(source) { return new fun(source); }
function fun(source) { 
	this.source = source;
	this.obj = document.getElementById(this.source);
	return this;
}
fun.prototype.move = function() {
	moveObj = this.obj;
	moveObj.onmousedown = function(e) {
		var self = this;
		e = getEvent(e);
		var coords = getCoords(this);
		var shiftX = e.pageX - coords.left;
		var shiftY = e.pageY - coords.top;
		document.onmousemove = function(e) {
			moveObj.style.position = 'absolute';
			moveObj.style.left = e.pageX - shiftX + 'px';
			moveObj.style.top = e.pageY - shiftY + 'px';
		}
	}
	document.onmouseup = function() {
		document.onmousemove = moveObj.onmouseup = null;
	}
	moveObj.ondragstart = function() { return false; }
}

window.onload = function() {
	func('block1').move();
	func('block2').move();
}


А именно проблемы в том, что элемент с ид block1 не перемещается никуда. А с block2 всё нормально. Не пойму в чём проблема..
Ответить с цитированием
  #2 (permalink)  
Старый 29.02.2012, 17:53
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

Ну вы и нагородили.
Попробуйте убрать func('block2').move(); и подумайте почему же функция работает только с последним элементом, поменяйте их местами и тоже подумайте
__________________
.

Последний раз редактировалось Skipp, 29.02.2012 в 17:56.
Ответить с цитированием
  #3 (permalink)  
Старый 29.02.2012, 18:06
Профессор
Отправить личное сообщение для (Sandr) Посмотреть профиль Найти все сообщения от (Sandr)
 
Регистрация: 14.10.2010
Сообщений: 376

Skipp,
насчёт того, что я нагородил, это по дефаулту у меня пока что))
А вот из-за чего у меня проблемы я пока понять не могу(
Ответить с цитированием
  #4 (permalink)  
Старый 29.02.2012, 18:14
Профессор
Отправить личное сообщение для (Sandr) Посмотреть профиль Найти все сообщения от (Sandr)
 
Регистрация: 14.10.2010
Сообщений: 376

Skipp,
да и местами менял их. Работает только 2й. Возможно последний вызов функции переопределяет this.obj . Но если это так, тогда как же мне это исправить?
Ответить с цитированием
  #5 (permalink)  
Старый 29.02.2012, 18:58
Профессор
Отправить личное сообщение для nikita.mmf Посмотреть профиль Найти все сообщения от nikita.mmf
 
Регистрация: 01.02.2010
Сообщений: 364

Где var???
var moveObj = this.obj;
Ответить с цитированием
  #6 (permalink)  
Старый 29.02.2012, 19:25
Профессор
Отправить личное сообщение для (Sandr) Посмотреть профиль Найти все сообщения от (Sandr)
 
Регистрация: 14.10.2010
Сообщений: 376

nikita.mmf,
УРА!!))) Спасибо за помощь
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить список ВСЕХ элементов DOM Почемучкин Events/DOM/Window 7 16.04.2012 11:33
Суммирование значений всех элементов div frolvict jQuery 1 11.07.2011 17:05
Перемещение элементов Johny Общие вопросы Javascript 6 29.03.2011 14:01
Изменение множества элементов Input по определённом призна Лавсановые Волокна Элементы интерфейса 1 24.12.2010 10:37
Запрет на перемещение элементов html Ilyan (X)HTML/CSS 2 26.03.2010 10:21