2017-12-04 17 views
-1

、私はこのコードバックグラウンドカラーの小数点はどのように取得できますか?

$("p").css("background-color") 

を使用して例えばRGB私は、小数点以下に設定された背景色を読み取るため(44.9、19.373737、255) をしようとしているが、使用時には、RGB(45、19にそれを丸め続けます255)

私が達成したいすべてが小数でそれを取得することです

これはサンプルコードです:

<script> 
$(document).ready(function(){ 
    $("button").click(function(){ 
     alert("Background color = " + $("p").css("background-color")); 
    }); 
}); 
</script> 
</head> 
<body> 

<h2>This is a heading</h2> 

<p style="background-color:rgb(44.9, 19.373737, 255)">This is a paragraph.</p> 


<button>Return background-color of p</button> 
+0

thatsバックグラウンドで何が起きるのか、rgbは3つの整数値をとります – nullqube

+0

'rgb()'には最初に浮動小数点数を含めるべきではありません。これは許可されていません。おそらく、このhtml出力を生成するコードを修正するべきです。 – Jerodev

+0

これらの値をCSSに設定したことがあっても、自動的に切り捨てられたり、整数に丸められたりします。後で小数点が必要な場合は、元の小数点を変数に格納しておく必要があります。または、ネイティブJSの場合、[style属性の値を取得する](https://jsfiddle.net/fxLve6y9/): 'element.attributes.style.value'を使用し、結果から元々書き込まれた値を抽出します。 '$( 'p')。attr( 'style')'のように見えます。 – Teemu

答えて

0

rgb()したがって8ビット色と2^8 = 256を使用して、あなただけ0から255の範囲整数を使用することができます。

問題は、小数点値を生成するバックエンドロジックにあるようです。値を四捨五入して保存または使用することができます。

1

RGB値は3つの8ビット整数(バイト)で構成され、それぞれ赤、緑、青は0〜255です。これらの値には小数部分はありません。したがって、あなたのスタイルは機能していません。

$(document).ready(function(){ 
 
    $("button").click(function(){ 
 
     alert("Background color = " + $("p").css("background-color")); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<h2>This is a heading</h2> 
 

 
<p style="background-color:rgb(44, 19, 255)">This is a paragraph.</p> 
 

 

 
<button>Return background-color of p</button>

0

私は、小数点以下の値がどんな意味を成さないと思います。むしろそれを丸めてRGBで使用します。

2

私はテストのファンです。

は、我々は色が整数としましょうテストで作られて知らないふりをしてみましょう:

あなたの小数点以下の値が1と3の赤と、緑が切り上げまたはダウン、の4つのdivを作ってみましょう。

次に者は、最初のdivは、jsfiddleには表示されませんクロムには表示されませんが、良いですFirefoxとエッジでのショーphotofilter

https://jsfiddle.net/vgrtky7g/

のような写真アプリを使用して出力を確認してみましょう十分な警告。

あなたはFirefoxでコードを実行する場合は、あなたが得る:Firefoxは近い整数に丸めるのに十分良かった意味rgb(44.9, 19.373737, 255)rgb(45, 19, 255)の両方のための

#2D13FF

ブラウザの親切度に頼らず、整数を使用してください。

関連する問題