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