http://strona-testowa.doprzodu.com/
Mam tutaj boxy, które przesuwają się w oparciu o Sortable. Żeby nie kopiować całego kodu, to może napiszę tylko strukturę html i kod java script:
<ul class="sortable sort-right" id="sortable"> <li class="rightmod"> <h3 class="modname">Pogoda</h3> </li> <li class="rightmod"> <h3 class="modname">Waluta</h3> </li> <li class="rightmod"> <h3 class="modname">Mobile</h3> </li> <li class="rightmod"> <h3 class="modname">Banki</h3> </li> <li class="rightmod"> <h3 class="modname">Do pobrania</h3> </li> <li class="verticalmods"><ul id="verticalmods"> <li class="verticalmod"> <h3 class="modname">Info</h3> </li> <li class="verticalmod"> <h3 class="modname">Fun</h3> </li> <li class="verticalmod"> <h3 class="modname">Celebrity</h3> </li> <li class="verticalmod"> <h3 class="modname">Travel</h3> <div class="box-content"><div> </li> <li class="verticalmod"> <h3 class="modname">Community</h3> <div class="box-content"><div> </li> </ul></li> <li class="rightmod"> <h3 class="modname">Film</h3> </li> <li class="rightmod"> <h3 class="modname">Gry</h3> </li> </ul>
$(function() { /* mods */ $( "#sortable" ).sortable({ cancel: ".verticalmods", placeholder: "place-holder-1", opacity: 0.8, revert: 100, //animacja items: ">li:not(.verticalmods)", dropOnEmpty: true, // forcePlaceholderSize: true, handle: ".modname" // "uchwyt" do trzymania przesuwanego elementu }); /*verticalmods */ $( "#verticalmods" ).sortable({ placeholder: "place-holder-2", opacity: 0.8, revert: 100, dropOnEmpty: true, handle: ".modname" }); });
te pionowe boxy są zablokowane w tym pierwszym sortable, i rzeczywiście całego diva nie da się przenieść, można zmieniać tylko kolejność w środku tego diva (drugie sortable). Dałoby się zrobić tak, żeby zawsze przed tym div-em było pięć elementów? Tzn jeśli przeciągnę coś, co jest za div-em, to automatycznie ostatni box u góry wskakuje za div-a?