2011-03-12 19 views
0

Internet Explorer 8で問題が発生しました.JavaScriptに3つの変数が追加されていませんか?これは、クローム、オペラ、およびFirefoxで働いているではなく、インターネットエクスプローラ、IEは私にNaNを与えている、今Internet explorerでjavascriptを使った奇妙な追加

var y = function(s) { 
    var p = ($.browser.msie || $.browser.opera) ? h(s) : s.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/); 
    delete p[0]; 
    var r = ((p[1]/255) * 0.2989); 
    var g = ((p[2]/255) * 0.5180); 
    var b = ((p[3]/255) * 0.1140); 
    return (r + g + b); 
}; 

は、私はこれを持っています。私はちょうど私が return ((r + g) + b)を試してみましたし、私は

var rg = (r + g); return (rg + b);を試してみました。しかし、私はNaNを得続けるreturn (r + g)またはreturn (g + b)

使用している場合には働いています。 IEでjavascriptで3つの変数を追加する特別なトリックですか?

答えて

1

まず、それぞれの値が実際に数値であることを確認するために、変数r、g、およびbのそれぞれに対してisNaN()を実行してみます。もしそうなら、それらを一緒に追加し、その結果を変数に代入して戻してみてください。

+0

恐縮です、ありがとうございます!それは 'b'がヌルだったことが分かりました。 –

関連する問題