賃貸事務所ドットコムでは、他のサイトでも多く使われているjQueryをJavascriptのメインライブラリーとして使用しています。
jQueryは、多くのプラグインが公開されていて、リファレンス(jQueryの解説)も、ネット上で多く存在しているので、解らないことは調べながら作業が出来て便利です。
さて、今、「プラグイン」というのが出てきましたが、プラグインとは、jQueryを拡張するための物です。数多くのプラグインが無料で公開されているので、jQuery+ プラグインを使うことで、簡単に色んな事が出来るのがjQueryを利用する一番のメリットだと思います。(興味がある方は、「jQueryプラグイン」などと、Googleで検索してみてください。)
いつもは、使わせてもらってばかりのプラグインですが、思い切って弊社で作ったプラグインを、公開したいと思います。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
▼ サンプル – sample
(数字を入れて、スタートを押してみて下さい。)
10.35 | -> |
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
/** * jQuery countRoll plugin * version 1.0.0 * Copyright (c) 2013 Towers Planning Co.,Ltd. * * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * */ (function($) { /* * 数字が段階的に変わるようなエフェクトプラグイン * 引数: { start: 開始時の数 , end: 終了時の数, point: 有効少数点以下 , time: 増減する時間(ms) } */ $.fn.countRoll = function(config){ var targetDom = $(this); //カンマ付きの数字の場合に対応。 if(typeof config.start == "string"){ config.start = config.start.replace(/,/g, '') - 0; } if(typeof config.end == "string"){ config.end = config.end.replace(/,/g, '') - 0; } if(typeof config.time == "string"){ config.time = config.time.replace(/,/g, '') - 0; } var defaults = { start : 0, end : 0, point : 0, time : 1500 }; var timer = null; var options = $.extend(defaults, config); var cnt = options.start; timer = setInterval(function(){ if(options.start <= options.end){ if(cnt > options.end){ cnt = options.end; } } else if(options.start > options.end) { if(cnt < options.end){ cnt = options.end; } } var point = Math.pow(10, options.point - 0); var str = new String(Math.round(cnt * point) / point).replace(/,/g, ""); while(str != (str = str.replace(/^(-?\d+)(\d{3})/, "$1,$2"))); targetDom.text(str); if(options.start <= options.end){ if(cnt >= options.end){ clearInterval(timer); } cnt = cnt + ((options.end - options.start) / 20); } else if(options.start > options.end) { if(cnt <= options.end){ clearInterval(timer); } cnt = cnt - ((options.start - options.end) / 20); } }, options.time / 20); return this; }; })(jQuery);
(*) 使用して起こった問題については責任を負いませんので、自己責任でお使い下さい。
Leave Your Response