/** ##文字数を制限するプラグイン ###option - limit : 制御する文字数 - afterText : 末尾に追加する ###使用方法 js ``` $(".track-list-col3 .title").textLimit({limit : 50}); $(".track-list-col3 .name").textLimit({limit : 23}); $(".track-list-col3 .comment").textLimit({limit : 103}); ``` html ```
``` @class 文字数制限プラグイン */ $(function(){ //list-recommend-special $(".mod-feature-list .title").textLimit({limit : 30}); $(".mod-feature-list .comment , .mod-feature-list .tieup").textLimit({limit : 70}); //list-genre-{music, comic, book} $(".list-genre .track-list-col3 .title").textLimit({limit : 23}); $(".list-genre .track-list-col3 .name").textLimit({limit : 15}); $(".list-genre .track-list-col3 .comment , .track-list-col3 .tieup").textLimit({limit : 95}); //p-playlist-01(mypage_module) //p-playlist-another-01(mypage_module) $(".content-2col .track-list-col3 .title").textLimit({limit : 37}); $(".content-2col .track-list-col3 .name").textLimit({limit : 15}); $(".content-2col .track-list-col3 .comment , .track-list-col3 .tieup").textLimit({limit : 78}); //list-carousel-{music, comic, book} //list-common-{music, comic, book} //list-genre-{music, comic, book}2 $(".track-list-col5 .title").textLimit({limit : 23}); $(".track-list-col5 .name").textLimit({limit : 16}); $(".track-list-col5 .comment , .track-list-col5 .tieup").textLimit({limit : 52}); //p-contents-mix-01(cart_module) //p-like-01(mypage_module) $(".track-list-col7 .title").textLimit({limit : 25}); $(".track-list-col7 .name").textLimit({limit : 18}); $(".track-list-col7 .comment").textLimit({limit : 55}); //(out of use) $(".track-list-ranking .title").textLimit({limit : 16}); //personal $(".grid-size-2 .image-list-item .title").textLimit({limit : 32}); $(".grid-size-2 .image-list-item .name").textLimit({limit : 22}); //(out of use) $(".image-list-2col .title").textLimit({limit : 37}); $(".image-list-2col .comment").textLimit({limit : 78}); //(out of use) $(".js-textLimit-sidebar01 .title").textLimit({limit : 20}); $(".js-textLimit-sidebar01 .name").textLimit({limit : 13}); //right-review //right-recommend-02(cart_module) $(".js-textLimit-sidebar02 .title").textLimit({limit : 32}); $(".js-textLimit-sidebar02 .name").textLimit({limit : 23}); $(".js-textLimit-sidebar02 .comment , .js-textLimit-sidebar02 .tieup").textLimit({limit : 97}); //(out of use) $(".index-list-artist .name").textLimit({limit : 40}); //right-ranking $(".js-textLimit-sidebar03 .title").textLimit({limit : 26}); $(".js-textLimit-sidebar03 .name").textLimit({limit : 17}); //(out of use) $(".js-textLimit-sidebar04 .title").textLimit({limit : 50}); $(".js-textLimit-sidebar04 .name").textLimit({limit : 30}); //hensei-carousel-{A, B, C} $(".general-box-3col .item-size-01 .item-vertical .title").textLimit({limit : 48}); $(".general-box-3col .item-size-01 .item-vertical .name").textLimit({limit : 32}); $(".general-box-3col .item-size-01 .item-vertical .comment , .general-box-3col .item-size-01 .item-vertical .tieup").textLimit({limit : 100}); $(".general-box-3col .item-size-02 .item-horizontal .title").textLimit({limit : 42}); $(".general-box-3col .item-size-02 .item-horizontal .name").textLimit({limit : 28}); $(".general-box-3col .item-size-02 .item-horizontal .comment , .general-box-3col .item-size-02 .item-horizontal .tieup").textLimit({limit : 138}); $(".general-box-3col .item-size-03 .item-vertical .title").textLimit({limit : 30}); $(".general-box-3col .item-size-03 .item-vertical .name").textLimit({limit : 18}); $(".general-box-3col .item-size-03 .item-vertical .comment , .general-box-3col .item-size-03 .item-vertical .tieup").textLimit({limit : 70}); $(".general-box-3col .item-size-01 .item-horizontal .title").textLimit({limit : 18}); $(".general-box-3col .item-size-01 .item-horizontal .name").textLimit({limit : 14}); $(".general-box-3col .item-size-01 .item-horizontal .comment , .general-box-3col .item-size-01 .item-horizontal .tieup").textLimit({limit : 100}); //p-hensei-01C(cart_module) $(".content-2col .general-box-4col .item-size-01 .item-horizontal .title").textLimit({limit : 18}); $(".content-2col .general-box-4col .item-size-01 .item-horizontal .name").textLimit({limit : 14}); $(".content-2col .general-box-4col .item-size-01 .item-horizontal .comment , .general-box-3col .item-size-01 .item-horizontal .tieup").textLimit({limit : 100}); //hensei-carousel-E //hensei-carousel-F $(".general-box-2col .item-size-05 .item-vertical .title").textLimit({limit : 73}); $(".general-box-2col .item-size-05 .item-vertical .comment , .general-box-2col .item-size-05 .item-vertical .tieup").textLimit({limit : 153}); //hensei-carousel-D,F,G $(".general-box-1col .item-size-04 .item-horizontal .title").textLimit({limit : 52}); $(".general-box-1col .item-size-04 .item-horizontal .comment , .general-box-1col .item-size-04 .item-horizontal .tieup").textLimit({limit : 103}); //personal $(".track-list-col3-2 .title").textLimit({limit : 24}); $(".track-list-col3-2 .name").textLimit({limit : 16}); $(".track-list-col3-2 .comment , .track-list-col3-2 .tieup").textLimit({limit : 53}); //tv program $('.track-list-tv-col3 .title').textLimit({limit : 34}); }); $.fn.textLimit = function(op){ /** * optionです。 * - afterText {String} : 語尾に追加される文字 * - limit {Int} : 何文字制御にするか * @method option */ op = $.extend({ afterText : "..." },op); return this.each(function(){ var $this; //no-ellipsisクラスをもってれば文字制限させないで返す if($(this).hasClass("no-ellipsis")){ return; }; if($(this).find("a").length > 0){ $this = $(this).children("a:last-child"); }else{ $this = $(this); } var i, text = $.trim($this.text()), textNum = text.length, textCutNum = textNum, afterTextNum = op.afterText.length, space = 0, totalText = op.limit; for(var num = 0;num < textNum;num++){ if(text.substr(num,1).match(/\s/)){ space+=0.5; } } totalText = Math.floor(space+totalText); if(totalText < textNum){ for(i = 0;i < textNum;i++){ textCut = text.substr(0,textCutNum-1); //指定文字数に達したらループを停止 if(totalText == textCutNum){ //末尾に足す分を引く textCut = text.substr(0,textCutNum-afterTextNum); $this.html(textCut+op.afterText); break; } textCutNum--; } } }); }