Я пытаюсь удалить элемент из сортируемого списка mootools, а затем сериализует и сохраняет новый список.удаление элемента из mootools sortable
Я хотел бы использовать немного леденца, а не прямую destroy()
на элементе. Я построил скрипку здесь: http://jsfiddle.net/kBAqJ/4/
Обратите внимание на order1
и order2
vars. Это содержит сериализованный элемент до и после удаления элемента. Если вы используете метод destroy
, чтобы избавиться от элемента после его удаления из сортируемого, вы получите правильное значение для order2
, например. 4.
Если вы используете nix(true)
вместо destroy
, вы получите 5 в качестве значения order1
и order2
, даже несмотря на то, что документы говорят nix(true)
звонки destroy
после dissolve
.
Это ошибка в Mootools, или я чего-то не хватает? Есть ли другой способ добавить эффект dissolve
при использовании destroy
, который даст правильный результат?
window.addEvent('domready', function(){
var mySort = new Sortables('#example2 UL', {
clone: true,
revert: true,
opacity: 0.7
});
console.log (mySort.elements.length);
var order1 = mySort.serialize(0);
console.dir(order1);
mySort.removeItems($('item1')).destroy(); // this results in the correct value in the order2 var below
//mySort.removeItems($('item1')).nix({duration: 1000}, true); // this results in the wrong value for order2
console.log (mySort.elements.length);
var order2 = mySort.serialize(0);
console.dir(order2);
});
@ romain-- спасибо, но вопрос заключается в том, что 'destroy' работает ожидается, в то время как 'nix' не ... - mootools docs говорят, что' nix' вызывает destroy ПОСЛЕ того, как он растворяет эффект, поэтому можно было бы ожидать, что он будет работать так же, как прямой 'destroy', не так ли? – julio
@julio - проблема в том, что вы вызываете сериализацию до того, как происходит разрушение. nix делает эффект, а затем уничтожает. в вашем примере запускается nix, требуется 10000 мс для завершения, сериализация происходит во время этой задержки, а затем уничтожается называется ... Я не вижу ошибки mootools, это ожидаемый результат для меня ... – Romain