Utworzyłem Demo przy użyciu packery i draggabilly, gdzie mam pięć siatek.Możesz je sortować za pomocą przeciągania. Po dokonaniu sortowania.Muszę zapisać posortowaną siatkę.Tutaj siatki nie są w ruchu, gdy sprawdzam w dev tylko pozycja zmienia nie dokładnie siatkę.Jak zapisać kolejność sortowania?
Po przejściu identyfikatora, ale bezużytecznego.Ze względu na wspomniany powyżej problem.
Czy istnieje sposób zapisania kolejności sortowania? Nie chcę używać localStorage
Mój kod następująco
HTML
<h1>Image sort</h1>
<div class="packery">
<div class="item w2 h2 i1" tabindex="0">A</div>
<div class="item w2 h2 i2" tabindex="1">B</div>
<div class="item w2 h2 i3" tabindex="2">C</div>
<div class="item w2 h2 i4" tabindex="3">D</div>
<div class="item w2 h2 i5" tabindex="4">E</div>
</div>
JS
// http://packery.metafizzy.co/packery.pkgd.js and
// http://draggabilly.desandro.com/draggabilly.pkgd.js added as external resource
// ----- text helper ----- //
$(function() {
var $container = $('.packery').packery({
columnWidth: 100,
rowHeight: 180,
// disable initial layout
isInitLayout: false
});
var pckry = $container.data('packery');
// ----- packery setup ----- //
// trigger initial layout
$container.packery();
var itemElems = $container.packery('getItemElements');
// for each item element
$(itemElems).each(function(i, itemElem) {
// make element draggable with Draggabilly
var draggie = new Draggabilly(itemElem);
// bind Draggabilly events to Packery
$container.packery('bindDraggabillyEvents', draggie);
});
CSS
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
body { font-family: sans-serif; }
.packery {
background: #FDD;
background: hsla(45, 100%, 40%, 0.2);
max-width: 460px;
}
/* clearfix */
.packery:after {
content: ' ';
display: block;
clear: both;
}
.item {
width: 240px;
height: 140px;
float: left;
background: #C09;
border: 4px solid #333;
border-color: hsla(0, 0%, 0%, 0.3);
font-size: 20px;
color: white;
padding: 10px;
}
.item:hover {
border-color: white;
cursor: move;
}
.item.w2 { width: 400px; }
.item.h2 { height: 140px; }
.item.w2.i1 { background: #ffff00; }
.item.w2.i2 { background: #ff6633; }
.item.w2.i3 { background: #00c6d7; }
.item.w2.i4 { background: #990099; }
.item.w2.i5 { background: #EEEEEE; }
.item.is-dragging,
.item.is-positioning-post-drag {
border-color: white;
background: #09F;
z-index: 2;
}
Możesz zapisać kolejność sortowania po stronie klienta (przy użyciu np. localStorage) lub po stronie serwera. Zauważ, że nowy HTML (zgodnie z nową kolejnością sortowania) będzie musiał zostać wyprodukowany po stronie serwera lub po stronie klienta (poprzez dynamiczne tworzenie HTML). – Amnon
Packery podaje listę elementów w prawidłowej, posortowanej kolejności. Tak więc twoja tablica sortedOrder ma tabIndexes we właściwej kolejności. Co dokładnie idzie źle? – Prashant
Chcę zapisać zamówienie zgodnie z wyborem Użytkownika. – Raviteja