jQueryで、背景色を取得するコード
$( this ).css( "background-color" );は、ブラウザによりRGBか、HEXで返ってくる。
参考:jQueryで色名を取得する際の注意
ここ(英語)を参考にして、
返ってくる文字列が以下のどのフォーマットでも
"#0046FF"のような文字列を作成するコード
rgb(0,70,255)
rgb(0, 70, 255)
#0046ff
var hexString = $( this ).css( "background-color" );
var parts = hexString.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
// ここでRGBフォーマットの場合は、
// ["rgb(0, 70, 255", "0", "70", "255"]のようになります。
if ( parts != null && parts.length == 4 )
{
// HEXフォーマットなら、ここには入ってきません。
delete ( parts[ 0 ] );
for ( var i = 1 ; i <= 3 ; ++i )
{
parts[ i ] = parseInt(parts[ i ]).toString(16);
if ( parts[ i ].length == 1 )
{
parts[ i ] = '0' + parts[ i ];
}
}
hexString = "#" + parts.join( "" );
}
0 コメント:
コメントを投稿