カラーピッカーで選択して、色を反映させる方法
はじめに
今回はカラーピッカーで選択した色を反映させる方法について紹介します。
簡単に実装できるので、色の変更が必要な時はぜひ使ってみてください。
HTMLでカラーピッカーを作成
まずはHTMLでカラーピッカーを作成します。
見た目と色を選ぶところまで実装します。
input要素を作成する
カラーピッカーを作成するには、<input>
を使用します。
type
にcolor
を指定することで、カラーピッカーを作成できます。
これで色を選択することができるようになります。
選択した色は、value
に格納されます。
<input type="color">
また、value
に色の値を指定することで、初期値を設定することができます。
<input type="color" value="#ff0000">
補足: カラーのテンプレートを用意する
ある程度の色の組み合わせを用意しておくと、色の選択がしやすくなります。
実装方法は、<datalist>
を使用します。
<input>
のlist
に<datalist>
のid
を指定することで、<datalist>
を参照することができます。
<option>
のvalue
に必要なカラーコード入れて<datalist>
の子要素に置きます。
そうすればカラーのテンプレートが選べるようになります。
テンプレートの下にあるその他
を選択すると、上記で実装したカラーピッカーに切り替わります。
<input id="color-picker" type="color">
<datalist id="color-picker">
<option value="#ff0000">
<option value="#00ff00">
<option value="#0000ff">
</datalist>
JavaScriptで選択した色を反映させる
次に、JavaScriptで選択した色を反映させる方法について紹介します。
<input>
のvalue
に選択した色の値が格納されているので、これを取得して反映させます。
今回はボタンを押したら、選択した色を反映させるように実装します。
反映結果が見える要素も作成しておきます。
<input id="color" type="color" list="color-picker">
<datalist id="color-picker">
<option value="#ff0000">
<option value="#00ff00">
<option value="#0000ff">
</datalist>
<button id="button">決定</button>
<div>
<p>選択したカラー</p>
<div id="result" style='width: 100px; height: 100px'></div>
</div>
ボタンを取得し、クリックイベントを設定します。
クリックイベントの中で、カラーピッカーの色を取得し、DOMに反映させます。
const button = document.getElementById('button');
button.addEventListener('click', () => {
// カラーピッカーの色を取得
const color = document.getElementById('color').value;
// 色を反映
const result = document.getElementById('result');
result.style.backgroundColor = color;
});
以上で実装は完了です。
demo
おわりに
今回はカラーピッカーで選択した色を反映させる方法について紹介しました。
簡単に実装できるので、色の変更が必要な時はぜひ使ってみてください。
Discussion
参考にさせていただきました🐰