2

色と不透明度を設定できる JavaScript カラー ピッカーを探しています。返される文字列は、8 桁の 16 進数値でなければなりません (# を除く)。

すでに見ていた

などなど。しかし、それらのどれも私が望むものを与えてくれません。スキニングエディターを実現するには、カラーピッカーを1ページに約100回実装する必要があるため、文字列のトリミングなどを台無しにしたくありません。

編集

http://jscolor.com/

JSColor を使用すると、次のようになります。

http://img707.imageshack.us/img707/3962/unbenannt3op.png

これは、Bean で 16 進コードを取得および設定するコードです。

<h:inputText styleClass="color {hash:true}"
             value="#{skinningBean.currentSkin.titleBar.backgroundColorStart}">
<a4j:ajax event="change" render="preview" />

欠落しているアルファ値 (最後の 2 桁) を除いて、これは完全に正常に機能します。

4

4 に答える 4

3

なぜ見つけにくいのかわかりませんが、スペクトルにはカラーピッカーに必要なものがすべて揃っています。(スペクトルが見つかるまでミニカラーを使用していました。)

8桁の16進数が必要かどうかはわかりませんが、4つのパラメーターrgbaを受け入れることはわかっています。(すべての色の解析にtinycolorと呼ばれるプラグインを使用します。)

于 2013-03-14T15:40:28.507 に答える
1

JavaScript でパブリック ドメインのカラー ピッカーを作成しました。ご要望に応じて、RRGGBBAA 形式の色を 16 進数で表示する機能を追加しました。

この機能を有効にするには、次の例のように、テキスト ボックスに「rgbahex_」で始まる ID を指定します。

<input type="text" value="ff0000ff" name="c2" id="rgbahex_c2">

そうすることで、テキストボックスがカラーピッカーに変換されます。ただし、ページが完全に読み込まれる前に入力ボックスが HTML に表示される場合にのみ機能します。実行時にカラー ピッカーを作成する場合は、次の JavaScript を使用して設定します。

textbox.value="ff0000ff";
PDColorPicker.setColorPicker(textbox,{rgbahex:true});

setColorPickerまた、テキスト ボックスをカラー ピッカーに変換します。


カラー ピッカーを更新して、カラー フォーマット AARRGGBB を追加しました。上記の例のargbhex代わりに使用します。rgbahex

テキスト ボックスのクラス名を ID ではなく "rgbahex_"、"argbhex_" などで開始して、テキスト ボックスをカラー ピッカーに変えることもできます。これは、XMLの属性に対応していると思います。styleClass

于 2013-03-22T03:01:33.190 に答える
0

スコットが提案したスペクトルカラーピッカーを使用することをお勧めしますが、そこからRGB値を取得して、次のプロパティを使用できます。

background: rgba(132,182,19,.5);

そうすれば、現在のdivの背景が設定され、必要に応じて不透明になります(したがって、必要な不透明度を与える方法を見つける必要があります)が、少なくとも色は取得されます。ピッカーからの値。フォールバックの詳細、およびrgbaの使用に関するIEの回避策が必要な場合は、CSSTricksを参照してください

アップデート:

代わりに16進値を使用する必要がある場合は、次のようなものを試してください。

http://jsfiddle.net/WzGG6/1/

于 2013-03-14T15:55:49.617 に答える
0

「文字列をトリミングしてこのことを行う」関数を定義することで、一度実装するだけでそれをどこでも呼び出すだけで管理できる場合があります。

于 2013-03-14T15:41:35.350 に答える