Core
Native
Class
Element
Utilities
Fx
Request
Plugins
- Fx.Slide
- Fx.Scroll
- Fx.Elements
- Drag
- Drag.Move
- Color
- Group
- Hash.Cookie
- Sortables
- Tips
- SmoothScroll
- Slider
- Scroller
- Assets
- Accordion
CoreにはMooToolsでとてもよく使われる関数がたくさん入っています。 連想配列と配列の基本的なメソッドもいくつか含まれています。
値が存在する、または0かどうかを調べます。0を許可したいときに役立ちます。
$chk(item);
function myFunction(arg){ if($chk(arg)) alert('The object exists or is 0.'); else alert('オブジェクトはnull、undefined、false、""のどれかです'); }
タイムアウトやインターバルを消去します。関数:delayや関数:periodicalと一緒に使うと役立ちます。
$clear(timer);
var myTimer = myFunction.delay(5000); //5秒待ってからmyFunctionを実行 myTimer = $clear(myTimer); //myFunctionをキャンセル
値が定義されているかどうかをチェックします。
$defined(obj);
function myFunction(arg){ if($defined(arg)) alert('オブジェクトは定義されています。'); else alert('オブジェクトはnullかundefinedです。'); }
渡されたインデックス(i)に応じて対応する引数を返す関数を作成します。
var argument = $arguments(i);
var secondArgument = $arguments(1); alert(secondArgument('a','b','c')); //"b"をアラート。
空の関数、それだけです。典型的な例としては、クラスのイベントメソッドにおけるプレイスホルダーがあります。
var emptyFn = $empty;
var myFunc = $empty;
渡された引数を返すということ以外はなにもしない関数を作ります。
var returnTrue = $lambda(value);
myLink.addEvent('click', $lambda(false)); //リンクをクリックできないようにします。
渡された一番目のオブジェクトに、二番目のオブジェクトのプロパティをすべて上書きします。
$extend(original, extended);
var firstObj = { 'name': 'John', 'lastName': 'Doe' }; var secondObj = { 'age': '20', 'sex': 'male', 'lastName': 'Dorian' }; $extend(firstObj, secondObj); //firstObjはこうなりました: {'name': 'John', 'lastName': 'Dorian', 'age': '20', 'sex': 'male'};
オブジェクトを幾つでも合体することができ、元のオブジェクトを参照することなく再帰的に結合します。
var merged = $merge(obj1, obj2[, obj3[, ...]]);
var obj1 = {a: 0, b: 1}; var obj2 = {c: 2, d: 3}; var obj3 = {a: 4, d: 5}; var merged = $merge(obj1, obj2, obj3); //戻り値:{a: 4, b: 1, c: 2, d: 5}(obj1、obj2とobj3はそのままです) var nestedObj1 = {a: {b: 1, c: 1}}; var nestedObj2 = {a: {b: 2}}; var nested = $merge(nestedObj1, nestedObj2); //戻り値: {a: {b: 2, c: 1}}
反復可能なものに対して反復処理を行います。しかし、組み込み関数のgetElementsByTagNameで呼び出されたものや、関数の引数、オブジェクトには使えません。
$each(iterable, fn[, bind]);
fn(item, index, object)
$each(['Sun','Mon','Tue'], function(day, index){ alert('name:' + day + ', index: ' + index); }); //"name: Sun, index: 0", "name: Mon, index: 1"...とアラート。
//"The first day of the week is Sunday", "The second day of the week is Monday"...とアラート: $each({first: "Sunday", second: "Monday", third: "Tuesday"}, function(value, key){ alert("The " + key + " day of the week is " + value); });
渡された引数の中で一番初めの定義済み変数か、nullを返します。
var picked = $pick(var1[, var2[, var3[, ...]]]);
function say(infoMessage, errorMessage){ alert($pick(errorMessage, infoMessage, 'There was no message supplied.')); } say(); //"There was no message supplied."をアラート。 say("This is an info message."); //"This is an info message."をアラート。 say("This message will be ignored.", "This is the error message."); //"This is the error message."をアラート。
渡された2つの引数の間に収まる整数をランダムで返します。
var random = $random(min, max);
alert($random(5, 20)); //5と20の間のランダムな数をアラート。
渡された引数が定義済みであり、なおかつ配列でなければ、配列に変換します。
var splatted = $splat(obj);
$splat('hello'); //['hello']を返します。 $splat(['a', 'b', 'c']); //['a', 'b', 'c']を返します。
現在時をタイムスタンプで返します。
var time = $time();
複数の関数を実行します。始めに実行できた関数の戻り値を返し、それ以降の関数は実行しません。一つも成功しなければ、nullを返します。
$try(fn[, fn, fn, fn, ...]);
すべての関数が失敗したらnullを返す。
var result = $try(function(){ return some.made.up.object; }, function(){ return jibberish.that.doesnt.exists; }, function(){ return false; }); //結果はfalse var failure, success; $try(function(){ some.made.up.object = 'something'; success = true; }, function(){ failure = true; }); if (success) alert('yey!');
渡された要素に一致するオブジェクトのタイプを返す。
$type(obj);
var myString = 'hello'; $type(myString); //戻り値:"string".
このドキュメントはMooToolsのドキュメントを元に高橋文樹が翻訳(ちょっと改変)しました。
本家と同じく、Attribution-NonCommercial-ShareAlike 3.0ライセンスで公表されています。