Twitter投稿用文字数カウント。
//初期状態 var textCount = $('#voteTextarea').val().length; var endsCount = 140 - textCount; $('#endsCount').text(endsCount); $('#voteAllWrap').fadeIn('slow'); //こっちの記述でもいいけど $('#voteTextarea').on('keyup',function(){ var textCount = $('#voteTextarea').val().length; var endsCount = 140 - textCount; $('#endsCount').text(endsCount); });
遅延動作をさせたいなら以下のプラグインを入れて、スクリプトを書き換える。
200のとこは、遅延させたいミリ秒を入れる。
http://benalman.com/projects/jquery-throttle-debounce-plugin/
//こっちだとなおいい $('#voteTextarea').on('keyup', $.debounce(200, function(){ var textCount = $('#voteTextarea').val().length; var endsCount = 140 - textCount; $('#endsCount').text(endsCount); }));
参考記事はこちら
http://ktkne.st/elab/post/2012/strcount-throttle-debounce.html
追記。
URLの文字数は短縮されるので、
予め投稿する文字数がわかってる場合は
var endsCount = 140 – textCount;
あたりの文字数を変更するといい。
例えば30文字のURLを投稿したい場合は22文字に短縮されるから、
var endsCount = 148 – textCount;
の扱いにすればいい。