Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Draggable и Overflow: hidden (https://javascript.ru/forum/dom-window/20539-draggable-i-overflow-hidden.html)

ArmagedDance 09.08.2011 05:27

Draggable и Overflow: hidden
 
У меня есть блок со свойством overflow:hidden, блок с прокруткой, так что это свойство необходимо (скрипт jsPane). В блоке есть другие блоки, картинки, со свойством draggable. Когда я подношу блоки-картинки за край родительского блока, они исчезают, что закономерно. Но надо чтобы не исчезали и были видимы и после выхода за границы этого блока.
Сейчас реализовал желаемое созданием другого draggable-блока похожего на предыдущие, но это все кривой метод. Как сделать чтобы блок "отцеплялся" от родительского блока или хотя бы оставался видимым, если я его перенес за границу?

devote 09.08.2011 05:29

перемести его другому родителю, используй клонирование элемента и перемещай например в body.

ArmagedDance 09.08.2011 05:39

Цитата:

Сообщение от devote (Сообщение 119062)
перемести его другому родителю, используй клонирование элемента и перемещай например в body.

Ммм, а какой функцией я могу назначить родителя у блока?

Сейчас вот сценарий идет следующий образом:

//.general_client_draggable - переносимые блоки
$(".general_client_draggable").draggable({revert: true,
revertDuration: '500',
cursor: "move",
start: function(event){
  client_id = $(this).attr('client_id');// берем нужный параметр от исходного блока
  $("#active_client_draggable").show();//делаем видимым блок который принимает нужный параметр
  $("#active_client_draggable").attr('client_id', client_id);//присваиваем видимому блоку нужный параметр
},
drag: function(event_drag){
  var left_pos=event_drag.pageX;//добавляю новому объекту координаты исходного обьекта чтобы переносить его мышкой
  var top_pos=event_drag.pageY;
$("#active_client_draggable").css({'left':left_pos, 'top': top_pos});
}
});


В предлагаемом вами случае как реализовать смену родителя?

devote 09.08.2011 06:41

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

da_ff 09.08.2011 12:25

На все 100 не уверен, но кажется этот плагин может манипулировать не самим объектом а клонированным узлом. Думаю это вполне подойдет как быстрое решение проблемы.

P.S. Да, если это из jqUI, то есть такой параметр
$(".selector").draggable({helper : 'clone'});


Часовой пояс GMT +3, время: 15:13.