У меня есть перетаскиваемый и отбрасываемый макет. Я создаю перетаскиваемый объект при добавлении его из выбора типа head. Однако у меня есть некоторые проблемы с размещением. Размер перетаскиваемого объекта намного больше, чем контейнер, в который он должен быть упаден. Это приводит к некоторым проблемам с отбрасыванием.Измените размер перетаскиваемого элемента после начала перетаскивания
Я не изменю размер элемента до половина его текущего размера после перетаскивания. Как мне это сделать? Проблема отсутствует в скрипке, если width
.semester
не установлен в 30%
.
Вот JSFiddle
EDIT:
После реализовав @ user619081 решение, которое я хотел, чтобы это произошло, только если объект был очень большой. Я сделал глобальную переменную var tempWidth
и обновил код на следующее:
start: function(event, ui) {
if(tempWidth < $(this).width()){
$(this).addClass("moveable");
}
tempWidth = $(this).width();
},
stop: function(event, ui) {
$(this).removeClass("moveable");
}
Приветствия это было то, что я искал! – Zeliax
Как бы я это сделал, если бы захотел проверить, каков текущий размер элемента? И поэтому только меняйте его, если он большой, а не при переносе его из маленького контейнера в большой, прежде чем сбросить его на большой? – Zeliax
Ваш вопрос действительно расплывчатый, мне нужно получить более подробную информацию о том, что вы хотели бы выполнить. Элемент draggable не знает, куда вы собираетесь его перемещать, у вас могут быть три зоны сброса, каждый из которых может иметь разный размер. Существует не универсальный подход, в котором мы бы знали, какой точный размер должен/не должен сжиматься. Нам нужно каким-то образом ограничить сценарий.То, что вы можете сделать, например, только сокращается, если его перетаскивают с большого на маленький и не сжимают, если его тянут наоборот, от маленького до большого. – Peter