スクリプト > Table Sort

「スクリプト/Table Sort」の編集履歴(バックアップ)一覧はこちら

スクリプト/Table Sort」(2014/07/17 (木) 22:58:02) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

#javascript(){{ $(document).ready(function(){ var defaultTr = function(tr){ // @wikiのtrのクラスatwiki_tr_から行indexを取得 return $(tr).attr("class").match("atwiki_tr_([0-9]+)")[1]; } var getTd = function(tr,i){ // trからTDテキスト取得 var t = $(tr).find("td").eq(i).text(); // "-"ならば、0 if( t === "-" ){ return 0; } // ソフラン(x-x)ならば、最大BPM if( t.indexOf("-") > -1 ){ var bpms = t.split("-"); return bpms[bpms.length-1]; } return t; } var sortfn = function(span){ var text = span.text(); var order = 1; // 昇順 if(text.indexOf("▼") > -1){ order = 2; // 降順 }else if(text.indexOf("▲") > -1){ order = 0; // デフォルト } // ソート比較とするtdのIndex var index = span.attr("class").substring(9); var table = span.closest("table"); table.find("tbody").html( table.find("tbody tr").sort(function(a, b) { var a_text = getTd(a,index); var b_text = getTd(b,index); var ret = (order == 1) ? a_text - b_text : b_text - a_text; // 比較が一致している場合もデフォルト if((order == 0) || (ret == 0)){ return defaultTr(a) - defaultTr(b); }else{ return ret; } }) ); table.find('span[class^="sortable-"]').each(function(){ $(this).text($(this).text().replace(/▼|▲/g,"")); }); if(order == 1){ span.text(span.text() + "▼"); }else if(order == 2){ span.text(span.text() + "▲"); } }; $('#wikibody table th span[class^="sortable-"]').click( function(){sortfn($(this))} ); $('#wikibody table th span[class^="sortable-"]').css("cursor","pointer"); }); }}

表示オプション

横に並べて表示:
変化行の前後のみ表示: