2016-01-20 5 views
2

У меня есть три контейнера, которые автоматически изменяются при изменении размера внутреннего div. Теперь я хочу добавить функцию перетаскивания в свой код и сохранить параметр автоматического изменения размера контейнера, как это в моем примере. Как это сделать?Autoresize родительский контейнер с перетаскиванием

Я нашел несколько примеров, но ни один из них не работает с несколькими контейнерами.

$(function(){ 
    $('.inner').resizable({ 
    }); 

    /* This is not working 
     $('.inner').draggable({ 
    }); 

    */ 



}); 

Jsfiddle

+0

Что вы имеете в виду вы должны внутренние дивы повторно значительные и перетащить фронтон? в то же время?? –

+0

Да. теперь изменяется размер, но мне нужно включить параметр перетаскивания, чтобы родительский div (class = "outer") был изменен, как сейчас. – user3189644

ответ

4

Bind события в том же selector.

$('.inner').resizable({}).draggable({}); 

См. В вашем edited fiddle.

EDIT:

Используйте containment: parent опцию на обоих дивы для тягот движения, как в this one.

EDIT 2:

This должен решить вашу проблему. Функция обратного вызова для управления внешней высотой div называется изменением размера.

EDIT 3:

This last fiddle должны соответствовать все, что вы запрашиваете. Я взял твою скрипку в комментарии и отредактировал ее.

+0

Спасибо, но родительский div (class = "внешний") размер не работает в вашем примере. – user3189644

+0

Посмотрите на вторую скрипку, пожалуйста. – AlexBay

+0

Он все еще не работает. В вашем родительском скрипте (class = outer) размер всегда одинаковый. В моем исходном примере, если вы изменяете размер внутреннего div больше родительского div, также изменяется размер родителя. – user3189644

1

Когда вы вызываете функцию draggable, объекты перетаскиваемого объекта position будут установлены в absolute, поэтому вам нужно написать новую функцию для изменения размера и перетаскивания.

Вы можете обнаружить оператор перетаскивания с помощью mousemove и mouseup события.

mousemove событие для когда объект перетаскивается, mouseup событие для после перетаскивания.

Событие изменения размера предоставляется по умолчанию.

Проверить это fiddle

+0

Спасибо, но если я перетащил его, то он выходит за пределы контейнера. Пожалуйста, см. Скрипку: jsfiddle.net/LakYy/3/.Fiddle включает функцию перетаскивания, которую я ищу, но я не знаю, как ее реализовать в моем коде ? – user3189644