jQuery Color プラグインを拡張

個人的によく使う「jquery.color.js」に汎用性のあるメソッドを追加してリニューアルさせました。

内部的な動作は同じなので jquery.color.js と置き換えることが可能です。



修正点

  • getRGBgetColorのグローバル化
  • getRGB内部処理の見直し
  • ネーム付きカラー全てに対応
  • parseColorCodeメソッドの追加



getRGB

getRGBは内部で使用されているものを外部からも使用できるようにjQueryオブジェクト直下に置き換えました。
getRGBは引数で受け取った色からRGB配列([red, green, blue])を生成します。

内部の修正点
  • 正規表現をより厳密に行うよう修正しています。
  • 数値に変換する処理をより速く行えるよう修正しました。



getColor

このgetColorも内部で使用されているものを外部からも使用できるようにjQueryオブジェクト直下に置き換えました。

getColorは引数の要素から引数で指定した属性の色を取得します。
例えば、要素の背景色を取得する場合にはbackgroundColorを渡します。
var color = $.getColor(this,"backgroundColor");
内部的には$.fx.stepで使用します。
このgetColorは指定した要素の属性の色が取得できない場合、親要素に渡って色を取得しようとしますので、普通に色を取得したいだけなら、css()$.curCSS()を使用した方が良いでしょう。



parseColorCode

parseColorCodeはRGB配列からカラーコードを生成するメソッドです。
当プラグイン内部でも使用されるRGB配列([red, green, blue])からカラーコード(#ffffffなど)に変換します。



その他

CSSにて指定可能なネーム付きカラー全てに対応できるよう、内部に持つcolors配列に新たなネーム付きカラー配列を追加しました。
追加した数は100です。合計143となりました。
colorsからnamedColorsにリネームしています。

jquery.color.jsは英国の方が書かれたのか、「darkgrey」となっていましたので、「darkgray」に修正しました。
因みにFirefox3だと、どちらでも良いようですが、IE7では「darkgray」でないとダメなようです。


0 Comments:

Recent Posts