簡単にカラーピッカーを追加できるプラグイン「jQuery asColorPicker」

CMSなどの管理システムを作っているとき、カラーピッカーを導入したい場合があります。

カラーピッカー系のライブラリはたくさんあるのですが、今回は簡単にカラーピッカーを追加できるプラグイン「jQuery asColorPicker」を紹介していきます。

導入方法

ダウンロード

jQuery asColorPickerを利用するは、以下のファイルを読み込む必要があります。

jQuery asColorPickerに必要なもの
  • jQuery
  • jQuery asColorPicker
  • jQuery asGradient

まずは、jQuery asColorPickerをダウンロードします。

Gitにアクセスしてzipファイルをダウンロードしましょう。
zipファイルを展開してlibディレクトリを丸ごと適当なディレクトリに配置してください。

つづいて、jQuery asGradientをダウンロードします。

こちらもGitにアクセスしてzipファイルをダウンロードしましょう。
zipファイルを展開してdistディレクトリを丸ごと適当なディレクトリに配置してください。

基本コード

jQuery本体と、jQuery asColorPickerのjsファイルとCSSを読み込みます。

<!-- jQuery本体 -->
<script src="/path/to/jquery.js"></script>

<!-- jQuery asColorPickerに必要なファイル -->
<script src="/path/to/jquery-asColor.js"></script>
<script src="/path/to/jquery-asGradient.js"></script>
<script src="/path/to/jquery-asColorPicker.js"></script>

<!-- jQuery asColorPickerのCSS -->
<link rel="stylesheet" href="asColorPicker.css">

カラーピッカーにするinputタグを記述します。

value値で、デフォルトのカラーコードを設定することができます。

<input type='text' class="colorpicker" value="#000" />

最後にinputタグをカラーピッカー化するjQuery asColorPicker用のスクリプトを記述します。

今回はclassがcolorpickerになっているinputタグをカラーピッカーにします。

$(function(){
    $('.colorpicker').asColorPicker();
});

これでインプットタグにカラーピッカーが表示されるようになります!

jQuery asColorPickerのよく使う機能

changeイベントの取得

jQuery asColorPickerにはクリックイベントなどを取得する機能があります。

例えば、changeイベントの取得は以下のコードで取得することができます。

$('.sample').on('asColorPicker::change', function (e) {
  console.log(e) 
});

クリック時にカラーコードを取得する

WordPressのカスタマイズのように、カラーピッカーで色を選択すると同時に背景色などを変更したい場合があります。

そんな時は、changeイベントと$().asColorPicker(‘val’)メソッドを使えば、簡単に実装することができます。

まずは、背景色を設定するdivタグと、カラーピッカーにするinputタグを記述します。


<!-- 背景色用div -->
<div class="bg"></div>

<!-- カラーピッカー用input -->
<input type="text" value="#000" class="colorpicker">

つづいて、背景色用divタグのスタイルを設定します。
サンプルでは幅と高さ100px、デフォルトの背景色を#000に設定しました。

.bg{
  background:#000;
  width:100px;
  height:100px;
}

最後に、jQuery asColorPicker用のスクリプトを記述します。
changeイベントを取得して、色が選択されるたびにdivタグの背景色を変更しています。

$(function(){
   // カラーピッカー用生成 
   $('.colorpicker').asColorPicker();

   // カラーピッカーのチェンジイベントを取得
   $('.colorpicker').on('asColorPicker::change', function (e) {
        // 選択されたカラーコードを取得
        var select_color = $(e.target).asColorPicker('val');
        // div.bgの背景色を変更する
        $('.bg').css('background',select_color);
   });
});

これで色が選択されるたびに、divタグの背景色が変更されます。

全体のコードは以下の通りです。

<style>
.bg{
  background:#000;
  width:100px;
  height:100px;
}
</style>
<div class="bg"></div>

<input type="text" value="#000" class="colorpicker">

<script>
$(function(){
    $('.colorpicker').asColorPicker();
    $('.colorpicker').on('asColorPicker::change', function (e) {
        var select_color = $(e.target).asColorPicker('val');
        $('.bg').css('background',select_color);
    });
});
</script>

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください