在Internet Explorer中使用javascript加入奇怪的内容

时间:2011-03-12 06:03:25

标签: javascript jquery internet-explorer-8

我在Internet Explorer 8中遇到问题,是不是在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);
};

现在,这适用于Chrome,Opera和Firefox,但不适用于Internet Explorer,IE正在给我NaN。如果我只使用return (r + g)return (g + b)

,它会正常工作

我已尝试return ((r + g) + b),我尝试了var rg = (r + g); return (rg + b);

但我一直在NaN。是否有一些特殊的技巧在javascript中使用IE ???

添加三个变量

1 个答案:

答案 0 :(得分:1)

我首先尝试对每个变量r,g和b运行isNaN(),以确保每个变量的值实际上是数字。如果是这样,也许可以尝试将它们一起添加并将结果分配给您随后返回的变量。