Ich habe Demo erstellt von Packery mit und draggabilly, wo ich fünf grids.I haben sie die draggable.After ich meine sort.I machen mit sortiert werden müssen, die sortiert grid.Here die Gitter bewegen, werden nicht speichern, wenn ich in dev inspizieren nur die Position verändert nicht das Raster genau.Wie speichere ich die Sortierreihenfolge?
Wie ich ids bestanden haben, aber keine use.Due auf die Frage oben erwähnt.
Gibt es eine Möglichkeit, die Sortierreihenfolge zu speichern? Ich will nicht localStorage
Mein Code
folgtHTML verwenden
<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;
}
Sie die Sortierreihenfolge auf der Client-Seite entweder speichern können (unter Verwendung von localstorage zum Beispiel) oder auf der Serverseite. Beachten Sie, dass der neue HTML-Code (entsprechend der neuen Sortierreihenfolge) auf der Serverseite oder auf der Clientseite erstellt werden muss (durch dynamisches Erstellen des HTML-Codes). – Amnon
Packery gibt Ihnen die Liste der Elemente in der richtigen sortierten Reihenfolge zurück. Das Array sortedOrder hat tabIndexes in der richtigen Reihenfolge. Was genau läuft schief? – Prashant
Ich möchte die Bestellung speichern, wie der Benutzer wählt. – Raviteja