У меня есть страница с сеткой предметов.Каждый из этих предметов можно перетащить на один из четырех делений и добавить к нему.Это делается с помощью jQuery и JQuery UI, перетаскиваемых / сбрасываемых.
Первый изотопный элемент можно перетащить в любой из элементов div.Тем не менее, 2-й и 3-й изотопные элементы не распознают первый сбрасываемый div, но при перетаскивании на 2-й сбрасываемый div будет добавлен в первый сбрасываемый div.
4-й и 5-й перетаскиваемые элементы (изотопы) не распознают первый или второй сбрасываемый элемент Div, но при перетаскивании над 3-м предметом сброса добавляются во 2-й предмет сброса.
Так что каким-то образом сбрасываемый предмет сбивается с толку относительно того, куда падают предметы.
Когда я закомментирую следующий код, перетаскивание работает правильно.Любые идеи относительно того, почему этот код будет влиять на области сбрасывания ??
jQuery('div.container').isotope({
itemSelector: 'div.sub-item',
resizesContainer : false,
layoutMode : 'fitColumns',
getSortData :{
fitOrder : function ($item){
var order,
index = $item.index();
if($item.hasClass('sub-item-big') && index % 2) {
order = index +1.5;
} else {
order = index;
}
return order;
}
},
sortBy : 'fitOrder'
});
--------------- обновление ------------------
После еще одной игры с этим я решил добавить «уничтожить» изотоп после начала перетаскивания.
jQuery('div.sub-item').draggable({
helper: function(){
jQuery('div.container').isotope('destroy');
return jQuery(this).clone().appendTo('body');
}
})
Когда я запускаю его таким образом, предметы сбрасываются в нужный контейнер.
Изотопная документация гласит, что это функция удаления, с этим есть две проблемы.
1) документация гласит, что она удаляет «указанные элементы элемента из виджета Isotope и DOM», но я не хочу удалять элемент из виджета или из dom, я просто хочу удалитьфункциональность изотопа
2) Я получаю сообщение об ошибке «не могу вызвать методы для изотопа до инициализации, попытался вызвать метод удаления» - но в этом случае изотоп был инициализирован, но, возможно, не на клонированном объекте??Это выше моих способностей, хотя я надеюсь научиться.
Теперь, когда я нашел один способ исправить эту ошибку, я мог уничтожить изотоп при перетаскивании, а затем повторно инициализировать изотоп после завершения перетаскивания или когда элемент отпущен, но, похоже, этонеэффективен.