jQueryでTwitter用文字数カウント

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;
の扱いにすればいい。

投稿者:

ayako0802

フロントエンドエンジニア