Показать сообщение отдельно
  #10 (permalink)  
Старый 29.11.2011, 17:06
czp czp вне форума
Профессор
Отправить личное сообщение для czp Посмотреть профиль Найти все сообщения от czp
 
Регистрация: 15.10.2011
Сообщений: 213

блин, вообшем не получается, подскажите, уже задрался голову ломать
суть такова:
2 эллемента
el1 = document.getElementById('clickObjects1')
el2 = document.getElementById('clickObjects2')

el1.onmousedown = function() { for_el1(this); }
el2.onmousedown = function() { for_el2(this); }

при движении, или просто когда кнопка нажата(обьект взят), у каждого свое действие,есле бы на всех обьектах одинаковое действие было, то все тогда отлично, но к примеру каждый элем по своему подсвечивается

function for_el1(element) {
  drag.object(element);

  drag.take(function (dragobject) {
    dragobject.style.position = 'absolute';
    dragobject.style.border = '2px solid #0f0';
    dragobject.style.zIndex = 100;
  });
 
  drag.drope(function (dragobject) {
    dragobject.style.border = 'none';
    dragobject.style.zIndex = 0;
  });
}

function for_el2(element) {
  drag.object(element);

  drag.take(function (dragobject) {
    dragobject.style.position = 'absolute';
    dragobject.style.border = '20px solid #fff';
    dragobject.style.zIndex = 100;
  });
 
  drag.drope(function (dragobject) {
    dragobject.style.border = 'none';
    dragobject.style.zIndex = 0;
  });
}


контроллер, которые делает свою работу
var drag = (function() {
  ... // ряд функция и плюшек
  return {
    object : function(element){
               dragobject = element;
     },
    take : function(take){
             onmousedown(take); 
	},
    drope : function(drope) {
	  onmouseup(drope);
	}
  }
}())

так вот в чем вопрос, как мне передать вот эти сами действия которые должны происходить при перетаскивание элема,у каждого свой, хотелось бы такой конструкцией
function for_el1(element) {
  drag.object(element);

  drag.take(function (dragobject) {
    dragobject.style.position = 'absolute';
    dragobject.style.border = '2px solid #0f0';
    dragobject.style.zIndex = 100;
  });
 
  drag.drope(function (dragobject) {
    dragobject.style.border = 'none';
    dragobject.style.zIndex = 0;
  });
}

но оно не совсем работает, так как одновременно срабатывает onmousedown - drag.take и onmouseup - drag.drope, из за того что не правильно передаю подскажите как быть??
drag.take(function (dragobject) {
    dragobject.style.position = 'absolute';
    dragobject.style.border = '2px solid #0f0';
    dragobject.style.zIndex = 100;
  });
 
  drag.drope(function (dragobject) {
    dragobject.style.border = 'none';
    dragobject.style.zIndex = 0;
  });
}

вот этот момент он мне интерпритирует сразу, а мне необходимо что бы он интерпритировал не сразу), как сделать так что бы при нажатие на элем он создовал функции но не интерпритировал их

Последний раз редактировалось czp, 29.11.2011 в 17:30.
Ответить с цитированием