Ho creato Demo utilizzando packery e scarsamente dove ho cinque griglie. Posso ordinarle usando il draggable.Dopo aver fatto il mio sort.Io ho bisogno di salvare la griglia. Qui le griglie non si muovono quando controllo in dev solo la posizione sta cambiando, non esattamente la griglia.Come salvare l'ordinamento?
Come ho passato id, ma di nessuna utilità.A causa del problema di cui sopra.
Esiste un modo per salvare l'ordinamento? Non voglio usare localStorage
Il mio codice segue
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;
}
È possibile salvare l'ordinamento sul lato client (utilizzando localStorage ad esempio) o sul lato server. Si noti che il nuovo HTML (in base al nuovo ordinamento) dovrà essere prodotto sul lato server o sul lato client (tramite la creazione dinamica dell'HTML) – Amnon
Packery restituisce l'elenco di elementi nell'ordine corretto. Quindi, l'array ordinatoOrdine ha tabIndex nell'ordine corretto. Cosa sta andando esattamente storto? – Prashant
Voglio salvare l'ordine a scelta dell'utente. – Raviteja