semooh作。
jTruncSubstrは、長い文章の途中までを表示し、続きは[more]ボタンで表示するようにします。
多くの情報を効率よく見せたい場合に便利ですし、JavaScriptが動作しない環境でも全文表示される点が優れています。
このプラグインは、既存のjTruncateをベースにしています。
非常に優れたプラグインなのですが、残念ながら単語の区切りを空白で探してそこでしかTruncateしてくれないため、日本語の文章には殆ど役に立たないものでした。
そこで、単語の区切りを調べずに指定された文字列長でTruncしてしまう「substrモード」を追加して、そちらをデフォルトにしてあります。日本語、中国語、韓国語などでは、こちらの方が便利でしょう。
また、区切り文字を空白以外も指定できるようにしました。
やはり句読点などに境目を合わせたい場合は、substrモードをやめて、こちらを指定すると良いでしょう。
適当なコンテナに、jTruncSubstrを当てるだけです。
<div jg="jTruncSubstr"> つれ\〃/なるまゝに〔退屈なので〕、日ぐらし〔終日〕硯に向ひて、心に移り行くよしなしごと〔つまらぬ事、らちもない事〕を、そこはかとなく〔とりとめもなく〕書きつくれば、怪しうこそ物狂ほしけれ〔妙に變な気持がする〕。 (中略) 手など拙からずはしりがき、聲をかしくて拍子(はうし)とり、いたましうするものから〔酒をすゝめられて恐縮したやうにはして居るものの〕、下戸ならぬこそ男(をのこ)はよけれ。 </div>
例ではデフォルトの動作なので、substrモードにより300文字で切れています。
表示部分にあたる文字列の長さを指定します。
デフォルトは300です。
非表示部分にあたる文字列長の最小の長さを指定します。
Truncate処理を行った結果、非表示部分がこの値以下のサイズしかないようなら、Truncate処理を行いません。
デフォルトは20です。
非表示部分を表示するリンクの文字列です。
デフォルトは “more” です。
表示した後、再び非表示にするリンクの文字列です。
デフォルトは “less” です。
続きがあることを表示するための文字列です。
デフォルトは ”…” です。
表示時にアニメーションさせる場合、その速度を設定します。
この値をゼロにすると、アニメーションが起きずに即座に表示されます。
デフォルトは 500 です。
非表示時にアニメーションさせる場合、その速度を設定します。
この値をゼロにすると、アニメーションが起きずに即座に非表示になります。
デフォルトは 500 です。
区切り文字を設定します。
この値が空文字の場合、substrモードになります。
値を設定する場合は、配列で区切り文字の候補を設定します。
デフォルトは ”” です。
<div jg="jTruncSubstr" jg:jTruncSubstr="length:200,delimiters:[' ','、','。','」']"> あだし野〔山城愛宕山の麓にある野〕の露消ゆる時なく、鳥部山〔山城愛宕郡清水寺附近の墓地〕の煙立ちさらでのみ住み果つる習ひならば、いかに物の哀れもなからむ。世は定めなきこそいみじけれ。命あるものを見るに、人ばかり久しきはなし。かげろふの夕を待ち〔淮南子に「蜉蝣朝生而夕死、而盡2其樂1。」〕、夏の蝉の春秋を知らぬもあるぞかし。つく\〃/と一年(ひととせ)を暮らす程だにも、こよなうのどけしや。飽かず惜しとおもはば、千年(ちとせ)を過すとも、一夜の夢の心地こそせめ。住みはてぬ世に、醜きすがたを待ちえて、何かはせむ。命長ければ恥おほし〔莊子に「壽則多辱」〕。長くとも四十(よそぢ)に足らぬほどにて死なむこそ、目安かるべけれ。そのほど過ぎぬれば、かたちを愧づる心もなく、人にいでまじらはむ事を思ひ、夕(ゆふべ)の日に子孫を愛し、榮行(さかゆ)く末を見むまでの命をあらまし〔豫想する、豫期する〕、ひたすら世を貪る心のみ深く、物のあはれも知らずなり行くなむあさましき。 </div>