セミオーダーメイドのECの開発をしていてカラーピッカーが必要になったので調べていたところ「ExColor」という非常に使いやすいプラグインを見つけました。
今までカラーピッカーというと、簡易なものなら「jQuery SimpleColor Color-Picker – Recursive Design」を使い、そうでない場合は「ColorPicker – jQuery plugin」を使っていました。
でも、前者はともかく後者は見た目スタイリッシュ過ぎて、かえって一般のユーザには使いづらいなぁと思っていたんですよね。作りもちょっとリッチすぎる気がします。
その点、ExColorはinputのidを渡すだけで動作しますし、スタイルもjsに書かれているためスタイルシートの読み込みの必要もありません。
さらには、何もしなくてもinputの脇にカラープレビューを置いてくれるので非常に便利!
jsのサイズもわずか16kBと軽量ですし、もっとも手間がかからずそれなりの機能を有するカラーピッカーとして、今後はメインで使っていきたいと思います。
豊富なオプション
これだけ軽量でお手軽なプラグインにもかかわらず、オプションも充実しています。
配布元ページのCreate a unique design!の項目で、見た目を確認しながらオプションのコードを取得できるので解説の必要はなさそうですが、フルコースを書いておくとコピペに便利なので残しておきます。
// デフォルトならたったこれだけの記述で動作します $("#inputID").modcoder_excolor();
下記の設定は全てデフォルトの値です。つまり何もオプションを加えなければ下記の通りになります。
項目別の並び
$("#inputID").modcoder_excolor({ hue_bar: 0, // 色相選択バーのデザイン hue_slider: 0, // 色相選択バーのカーソル指定 sb_slider: 0, // 色選択ボックスのカーソル指定 sb_border_color: '#000000', // 色選択ボックスの枠線の色 border_color: '#000000', // カラーピッカーのボーダー色 background_color: '#c0c0c0', // カラーピッカーの背景色 shadow: true, // カラーピッカーのドロップシャドウを表示するか shadow_color: '#8a8a8a', // カラーピッカーのドロップシャドウ色 shadow_size: 4px, // カラーピッカーのドロップシャドウ幅 backlight: true, // カラーピッカーの内側のシャドウを表示するか round_corners: true, // カラーピッカーの角丸 color_box: true, // inputの脇にプレビューを表示するか show_color_on_border: false, // inputのボーダを選択色にするか input_text_color: '#000000' // 入力欄のテキスト色 label_color: '#000000', // 入力欄のラベル色 input_background_color: '#8a8a8a' // 入力欄の背景色 effect: 'none', // 表示エフェクト(zoom, slide, fade) anim_speed: 'slow', // 表示速度 });
配布サイトのCreate a unique design!の並び
$("#inputID").modcoder_excolor({ hue_bar: 0, // 色相選択バーのデザイン sb_slider: 0, // 色選択ボックスのカーソル指定 show_color_on_border: false, // inputのボーダを選択色にするか sb_border_color: '#000000', // 色選択ボックスの枠線の色 round_corners: true, // カラーピッカーの角丸 shadow_size: 4px, // カラーピッカーのドロップシャドウ幅 background_color: '#c0c0c0', // カラーピッカーの背景色 input_text_color: '#000000' // 入力欄のテキスト色 effect: 'none', // 表示エフェクト(zoom, slide, fade) hue_slider: 0, // 色相選択バーのカーソル指定 color_box: true, // inputの脇にプレビューを表示するか border_color: '#000000', // カラーピッカーのボーダー色 label_color: '#000000', // 入力欄のラベル色 shadow: true, // カラーピッカーのドロップシャドウを表示するか shadow_color: '#8a8a8a', // カラーピッカーのドロップシャドウ色 backlight: true, // カラーピッカーの内側のシャドウを表示するか input_background_color: '#8a8a8a' // 入力欄の背景色 anim_speed: 'slow', // 表示速度 });