javascript - Sorting and Grouping of Cards in Jquery/Css3 with smooth transition -
help me out!!!! have complex requirement have group of cards, on click have sort same group of cards in asc order. , once have made group cards, each time click sort button, sort cards within group again.
requirement
<div class="main_div"> <div class="connectedgroup"> <div class="deck">4</div> <div class="club">3</div> <div class="deck">2</div> <div class="spade">9</div> <div class="deck">5</div> <div class="club">7</div> <div class="deck">5</div> <div class="spade">2</div> <div class="club">9</div> </div> </div> out put after sort
<div class="main_div"> <div class="connectedgroup"> <div class="deck">2</div> <div class="deck">4</div> <div class="deck">5</div> </div> <div class="connectedgroup"> <div class="spade">2</div> <div class="spade">9</div> </div> <div class="connectedgroup"> <div class="club">3</div> <div class="club">7</div> <div class="club">9</div> </div> </div> waiting valuable suggestions
i wrote down jquery script solve problem,
$("a#order").on("click", function(){ var wrapper = $(".main_div"); var items = $(".connectedgroup div"); var itemshash = {}; wrapper.find("div").remove(); $.each(items, function(){ var itemkind = $(this).attr("class"); if(itemshash[itemkind] == undefined) { itemshash[itemkind] = []; } itemshash[itemkind].push($(this).text()); }); $.each(itemshash, function(item, value){ var sortedlist = itemshash[item].sort(); var cluster = "<div class='connectedgroup'>"; $.each(sortedlist, function(si, va){ cluster += "<div class='"+item+"'>"+ va +"</div>"; }); cluster += "</div>"; wrapper.append(cluster); }); }); you should check http://jsfiddle.net/5rmc8/1/
if using jquery, may out.
you can change "each" statements usual "for" loops, faster.
what did iterate on dom elements , retrieve hash of "kind" (deck, club, spade, etc) array of values , sorted them ascendingly "sort()"
example: hash["deck"] = [2, 4, 5];
then iterate on new hash , create elements needed can seen on line 18 of given example.
hope have helped you
Comments
Post a Comment