広告 Affinger・改善

Affinger6の「ミニ」ボタンにW3schoolが提供しているW3.JSのソート機能を実装する。

スポンサーリンク

 

W3schoolsが提供しているW3.JS は、Web 開発プロジェクトを簡素化するために設計された JavaScript ライブラリです。 ライブラリは9つのfunction(関数)が含まれており、この中に、onclick属性を利用してリストやTable表を簡単にソートできる「w3.sortHTML」ライブラリがあります。(なお、このライブラリは、「Free to use. No licenses.」となっています。)

今回は、この「w3.sortHTML」機能を実装したAffinger6のonclick属性付き「ミニ」ボタン前回記事を参照)を配置して、リストやTable表をソートする実例紹介です。

W3Schoolsについてウィキペディアによれば、

W3Schoolsはウェブ技術のオンライン学習サイトである。HTML、CSS、JavaScript、PHP、SQL、Bootstrap、jQueryに関する参考資料や教材があり、月間100万人以上のユニークビジターが訪問している。
1998年に開設され、サイト名はWorld Wide Webに由来するが、ノルウェーのRefsnes Data社が運営しておりW3C (World Wide Web Consortium) には属していない。数千のコード例の記載があり、オンラインエディタで利用者がサンドボックスに自由に編集し試せる。

 

「W3.JS 」scriptの事前読み込み(Affinger6テーマの場合)

「w3.sortHTML」scriptを利用するには、予めWebページの<head>等に以下の「W3.JS 」リンクコードを配置しておく必要があります。

 scriptリンクコード
<script src="https://www.w3schools.com/lib/w3.js"></script>
-- 又は、w3.jsファイル をダウンロードした後、Wordpressの適当なFolderにアップロードした場合 --
<script src="https://UP Load Folder /w3.js"></script>

Affinger6の「w3.js」設置場所

サイト全体(全投稿ページ)で利用する場合:
Affinger管理の「その他」> 上級者向けセクションの「</body>直前に出力するコード」欄に、「W3.JS」リンクコードを配置します。

個別ページで利用する場合:
投稿編集の後段にある「wp_footerに出力します」欄に、「W3.JS」・リンクコードを配置します。

 

w3.sortHTML()の引数について

「W3.JS 」に、ソートを可能にする、w3.sortHTML(引数)関数が含まれています。 この 引数にソート対象の要素を指定し、onclick属性でこの関数を呼び出すとその要素がソートされます。

リストのソート

例えば、ボタンにonclick="w3.sortHTML('ul#id01', 'li')" を記述すると、id01 が付記された<ul id="id01">要素のリスト<li>  に対して、ソート(昇順、降順の並び替え)できます。

テーブルのソート

例えば、ボタンにonclick="w3.sortHTML('table#myTable','tr.item', 'td:nth-child(1)') "と記述すると、テーブル(table)のidにmyTable が付記された<table id="myTable"> 、行(tr)のclassに itemが付記された<tr class="item"> と、1列目の列 <td> 指定「td:nth-child(1)」要素に対してソート(昇順、降順の並び替え)できます。 2列目をソートしたい場合は、「td:nth-child(2)」にします。

 

onclick属性付き「ミニ」ボタンを使ってソート関数を実行する

「ミニ」ボタンの仕様は、onclick属性を付けることが出来ません。 このため、onclick属性を付与するショートコード【BTN_with_onclick】を作っておき、「ミニ」ボタンに【BTN_with_onclick】で囲むことで、onclick属性付き「ミニ」ボタンになります。 この「ミニ」ボタンをクリック(タップ)すればfunction(関数)が実行できる様になります。

【BTN_with_onclick】ショートコードの作り方は、「ここをクリック」して参照ください。

 

スポンサーリンク

 

事例1:楽曲リストをソートする

以前の記事(NAS内にAudio.js音声プレイリストを配置)で紹介した、収録した音源ファイルをプレイリストに追加して行くと、当然ながら、音源ファイルのタイトルが収録順になって表示されます。 そこで、「W3.JS Sort」を使ったボタンを配置して、タイトルリストをソートすれば、下に示す様に、「作曲者でソート(⇅)」ボタンを押すと、作曲者が昇順、降順で並べられますのでプレイリストが分かり易くなります。

収録順 Title

  • バッハのフランス組曲 第5番 (pf)ピョートル・アンデルジェフスキ
  • モーツァルトのピアノ・ソナタニ長調K_311他
  • メンデルスゾーンのバイオリン協奏曲_(vn)メニューイン
  • メンデルスゾーンの交響曲第4番「イタリア」フィルハーモニア管弦楽団,シノーポリ(指揮)
  • シューマンのロマンス他(vn)パールマン.mp3"
  • パガニーニのバイオリン協奏曲 第1番(vn)パールマン
  • ベートーベンのピアノ三重奏曲「大公」
  • モーツァルトのフルート協奏曲第1番
  • メンデルスゾーンの交響曲第3番イ短調「スコットランド」ハイティンク(指揮)LPO
  • モーツァルトのバイオリン協奏曲 第5番 イ長調 K219 vnシェリング、ニュー・フィルハーモニア管弦楽団、指揮アレクサンダー・ギブソン
  • モーツァルトのピアノ・ソナタ イ長調「トルコ行進曲付き」K331イングリット・ヘブラーpf
  • モーツァルトの弦楽五重奏曲ト短調
  • モーツァルトのフルート協奏曲第2番K314 エマニュエル・パユ(フルート)アバド(指揮) BPO
  • シューベルトの「4つの即興曲」 pfエヴァ・ポブウォツカ
  • シューベルトのピアノ五重奏曲「ます」pfヘブラー(ピアノ) 、vn グリュミオー
  • ラフマニノフのパガニーニの主題による狂詩曲
  • ショパンのスケルツォ全4曲 pf チョ・ソンジン
  • シューマン:アルゲリッチの「子供の情景」とディースカウの「ミルテの花」から献呈
  • シューマン「こどもの情景 作品15」 pf ホロヴィッツ
  • シューマン「こどもの情景 作品15」pf ケンプ・シューマン

リストとソートボタンは、以下のHTMLコードで構成しています。

 

HTML codeの簡単な説明

  • 1行目と5行目:onclick属性を付与するショートコードで、onclickに、w3.sortHTML(引数)関数とsort_info()関数を ; 区切りで指定しています。
  • 2〜4行目:「ミニ」ボタンのショートコードになります。
  • 22〜32行目:scriptの関数名はsort_info()で、id="info"で指定される要素に対してソートの状態を表示します。 設置場所「W3.JS 」と同じ場所に配置します。
  • 7行目:pタグにid="info" を指定。 ボタンがクリックされると、sort_info()関数も実行され、ソート状態が表示されます。

 

事例2:Table表をソートする

この事例は、『ハイレゾ音源をAAC(MP3)に変換する時の「5つのヒント」』記事の中で、ピンクノイズを使ったAAC(MP3)エンコーダの劣化率を調べたtable表です。 前述した「w3.sortHTML()の引数」「テーブルのソート」の説明に従ってtable表に、ソートボタンを付加しました。

変換アプリと劣化率一覧

変換アプリ(含むCLI) 160kbps
(劣化率)
320kbps
(劣化率)
劣化率 順位
320kbps
XLD AAC(OSX用) 1.09% 0.31% 3位
foober2000 AAC
(Windows用)
1.04% 0.29% 2位
FFmpeg NativeAAC(CLI) AAC 4.19% 0.83% 7位
Apple Afconvert(CLI) AAC 1.09% 0.31% 3位 
iTunes AAC(OSX用) 1.68% 0.61% 6位
Apple Digital Masters
ドロップレット
(44.1khz 256kbps) AAC
1.19%
(256kbps)
8位
FFmpeg libfdk_aac(CLI)AAC 0.74% 0.37% 5位
FFmpeg libmp3lame(CLI)MP3 1.15% 0.19% 1位 Best 
iTunes MP3(OSX用) 4.75% 2.08% 9位 Worst 

 

以上、『Affinger6の「ミニ」ボタンにW3.JSのソート機能を実装する』ための紹介でした。 W3.JSはソート機能以外にもページ内の要素を「表示」「非表示」する機能など有用な関数が含まれています。

 

スポンサーリンク

 

スポンサーリンク

 

t