Skip to content

Instantly share code, notes, and snippets.

@takustaqu
Last active August 29, 2015 14:22
Show Gist options
  • Save takustaqu/abe2ddc44a375bf6f5ad to your computer and use it in GitHub Desktop.
Save takustaqu/abe2ddc44a375bf6f5ad to your computer and use it in GitHub Desktop.
<ul id="sortTarget">
<li class="order01">01</li>
<li class="order02">02</li>
<li class="order03">03</li>
<li class="order04">04</li>
<li class="order05">05</li>
<li class="order06" data-sp-order="5">06</li>
<li class="order07" data-sp-order="4">07</li>
<li class="order08" data-sp-order="3">08</li>
<li class="order09" data-sp-order="2">09</li>
<li class="order10" data-sp-order="1">10</li>
</ul>
<script>
(function(box,target,targetAttr,targetBottom){
var target = [];
var other = [];
$(target).each(function(){
var tmp = {};
var order = $(this).attr(targetAttr);
tmp.el = $(this);
if(!!order){
tmp.order = order;
target.push(tmp);
}else{
other.push(tmp);
}
});
target.sort(function(a, b) {
if (a.order<b.order) return -1;
if (a.order>b.order) return 1;
return 0;
});
var result = !!targetBottom ? other.concat(target) : target.concat(other)
$(box).empty();
for(var i=0,il=result.length;i<il;i++){
$(box).append(result[i].el);
}
})("#sortTarget","#sortTarget > li","data-sp-order");
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment