Result
jQuery
$(document).ready( function () { $( 'li' ).click( function () { var c = $( this ); var All = c.prevAll(); if (All.length > 0) { var top = $(All[All.length - 1]); var p = $(All[0]); var Up = c.prop( 'offsetTop' ) - top.prop( 'offsetTop' ); var Down = (c.offset().top + c.outerHeight()) - (p.offset().top + p.outerHeight()); c.css( 'position' , 'relative' ); All.css( 'position' , 'relative' ); c.animate({ 'top' : -Up}); All.animate({ 'top' : Down}, {complete: function () { c.parent().prepend(c); c.css({ 'position' : 'static' , 'top' : 0}); All.css({ 'position' : 'static' , 'top' : 0}); }}); } }); }); |
html
- list 01
- list 02
- list 03
- list 04
- list 05
via
https://forrst.com/posts/Animated_list_item_reordering_in_jQuery-RR1